grepファイルと.logファイルから抽出してシェルにシェルコマンドとして貼り付ける

grepファイルと.logファイルから抽出してシェルにシェルコマンドとして貼り付ける

拡張子のあるディレクトリにファイルのリストがあり、同じリスト.gzにを使用して同じファイル名を取得し、使用するコマンドを準備できるように、ディレクトリ内のファイルの完全なリストを検索する必要がありますgrepfinal.logname.gz.DONEgreptouch -d.gz.DONE

例:

VIC_sentine_1153690_20220503_153250_0000.psv.gz
VIC_sentine_1151176_20220504_153250_0000.psv.gz
VIC_sentine_175390_20220505_153250_0000.psv.gz

.logファイルから。

grep私がするとき

a=VIC_sentine_1153690_20220503_153250_0000.psv.gz

cat ~/final.log | grep $a | grep DONE | cut -d '/'  -f 7 | head -n 1

わかりました。 VIC_sentine_1153690_20220503_153250_0000.psv.gz.20220523081154.DONE

手動で作成したディレクトリで.DONE同じタイムスタンプを持つファイルを使用して.gz

touch -d "2022-05-03 21:04:00.000000000" VIC_sentine_1153690_20220503_153250_0000.psv.gz.20220523081154.DONE

ただし、ディレクトリには200個のファイルがあります。

.gz同じファイルが存在するかどうかをクロスチェックする方法はありますか(.gz.*DONE&の間に数字が含まれているため)?.gz.DONE

それ以外の場合は、touchコマンドを生成してコマンドを.txtファイルに出力します。必要なのは、touchログファイルをgrepingしてそのディレクトリからコマンドを動的に生成することだけです。

関連情報