0

ログファイルの出力を取得し、関連するコンテンツを別のログファイルに抽出するbashスクリプトを作成したいと思います。これを使用して、例としてファイルを送信するのにかかる時間の統計分析を行います。

内容は次のとおりです。

FileSize  TimeStamp         MD5          Full Path to File
4824597   2013-06-21 11:26  5a264...c11  ...45/.../.../ITAM.xml 
4824597   2013-06-20 23:18  5a264...c11  ...48/.../.../1447_rO8iKD.TMP.ITAM.xml

タイムスタンプとファイルへのフル パスを抽出しようとしています。

私はスクリプトの初心者ですが、これまでに試したことは次のとおりです。

    cat "/var/log/Customer.log" | grep '2013* *11' >> test.txt 

私が見逃している他の方法はありますか?どうもありがとうございました。

4

5 に答える 5

2

すべてのエントリのタイムスタンプとフル パスを抽出する場合は、次のようにします。

awk 'NR>1{print $2,$3,$NF}' inputFile > outputFile
于 2013-06-21T16:42:15.440 に答える
2

GNU のコード:

sed -nr '2,$ {s/\S+\s+(\S+)\s+(\S+)\s+\S+\s+(.*)/\1 \2\t\3/;p}' file

$cat ファイル
FileSize TimeStamp MD5 ファイルへの完全なパス
4824597 2013-06-21 11:26 5a264...c11 ...45/.../.../ITAM.xml
4824597 2013-06-20 23:18 5a264...c11 ...48/.../.../1447_rO8iKD.TMP.ITAM.xml

$sed -nr '2,$ {s/\S+\s+(\S+)\s+(\S+)\s+\S+\s+(.*)/\1 \2\t\3/;p}' ファイル
2013-06-21 11:26 ...45/.../.../ITAM.xml
2013-06-20 23:18 ...48/.../.../1447_rO8iKD.TMP.ITAM.xml
于 2013-06-21T16:56:42.710 に答える
1

列がタブで区切られていると仮定すると、次のように使用できますcut

cut -f2,4 /var/log/Customer.log | grep -v MD5 >> test.txt

列 2 と 4 (カウントは 1 から開始) を に追加しますtest.txt。を含む行は呼び出しMD5によって削除されます。grep

于 2013-06-21T16:29:11.680 に答える
1

次のように実行できます。

awk 'NR!=1 {print $2 " " $3 "\t" $5}' Customer.log > stat.txt
于 2013-06-21T16:35:52.287 に答える