ファイルの Grep 文字列

ファイルの Grep 文字列

1回の作業のために、フォルダ内に5つのファイル名を作成しました。ファイル名は次の形式に従います。

ES_currentdate_currenttime_processid_uniqueid.log

そのパスで最近作成されたファイルの状態を読みたいです。

シェルスクリプトでファイル名を設定する方法は次のとおりです。

$ filename=ES_*_uniqueid.log
$ echo grep "##status##XRB##" $HOME/log/$filename | sort -u` "

grep5つのファイルすべての状態を読み、エコーするとき。grep最近作成されたファイルからのみ文字列を取得したいです。

誰でもソリューションを提供できますか?

ベストアンサー1

ファイル名は時系列で作成しても問題になりません。これを使用してtail -1ファイルリストの最後のファイルを取得します。このファイルは常に最新のファイルでなければなりません。

$ filename=ES_*_uniqueid.log
$ grep "##status##XRB##" $(ls -tr $filename | tail -1)

ls -tr $filename | tail -1これにより、単一の結果である最新のファイルを返すサブコマンドが実行されます。これにより、一致する文字列を見つけるためにファイルが検索されます##status##XRB##

おすすめ記事