system.log文字列から変数を解析し、解析された変数を使用してコマンドを実行します。

system.log文字列から変数を解析し、解析された変数を使用してコマンドを実行します。

私の現在のソリューションはうまくいきますが、これを行うより良い方法があることを知っています。

現在のキーワードを見つけるために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. 

役に立ったことを願って

おすすめ記事