私の現在のソリューションはうまくいきますが、これを行うより良い方法があることを知っています。
現在のキーワードを見つけるためにmacOS system.logの終わりを実行します。検索するキーワードごとに別々のスクリプトがあり、writestateコマンドを実行してキーワードが表示されたことを反映しています。
私は、「シーン名= [MOVIE]」のように、ログに表示されているキーワードトリガーを使用してから、文字列からMOVIEを解析して変数に挿入してから状態にすることを好みます。
私が生成したシーン名ごとに次のスクリプトを作成しましたが、値を直接変数に書き込んでからコマンドを受け取ると、実行する方がきれいになります。
#!/bin/bash
tail -F /var/log/system.log |
grep --line-buffered 'MOVIE' |
while read ; do ~/Applications/RacePointMedia/sclibridge writestate userDefined.ActiveScene MOVIE ; done
答え1
私はこのawkステートメントを使用してmySQL.logsからコンテンツを取得します。文字列とログファイルに合わせて調整しました。
これがあなたに役立つかどうかはわかりませんが、そうかもしれません。その後、一致を含むログの最後の行を取得し、最後のフィールドをword_matchに入れます。最初のフィールドの場合は{a = $ 0}を{a = $ 1}に増やし、2番目のフィールドの場合は{a = $ 2}などに増やすことができます。
`word_match=`awk '/scene name=\[MOVIE\]/ {a=$0} END{ print a }' /var/log/system.log | awk '{print $(NF)}'
echo $word_match #to display what you got.
役に立ったことを願って