マシンに以下の内容のログファイルがあります。
2020-06-18 00:01:31|INFO|0||pro_upl_postpaid_trap|ComUpload|CUploadProcessRemoteFile.cpp[95]|rename remote file success,source filename=/file_src/localusers/data/TRAP_CBS/recv/ovou20200617_999_400280.unl.temp,destination filename=/file_src/localusers/data/TRAP_CBS/recv/**ovou20200617_999_400280.unl**
2020-06-18 00:01:32|INFO|0||pro_upl_postpaid_trap|ComUpload|CUploadProcessRemoteFile.cpp[95]|rename remote file success,source filename=/file_src/localusers/data/TRAP_CBS/recv/ocom20200617_512_400106.unl.temp,destination filename=/file_src/localusers/data/TRAP_CBS/recv/ocom20200617_512_400106.unl
2020-06-18 00:01:32|INFO|0||pro_upl_postpaid_trap|ComUpload|CUploadProcessRemoteFile.cpp[95]|rename remote file success,source filename=/file_src/localusers/data/TRAP_CBS/recv/ocom20200617_515_400184.unl.temp,destination filename=/file_src/localusers/data/TRAP_CBS/recv/ocom20200617_515_400184.unl
2020-06-18 00:01:33|INFO|0||pro_upl_postpaid_trap|ComUpload|CUploadProcessRemoteFile.cpp[95]|rename remote file success,source filename=/file_src/localusers/data/TRAP_CBS/recv/odata20200617_517_400092.unl.temp,destination filename=/file_src/localusers/data/TRAP_CBS/recv/odata20200617_517_400092.unl
このログファイルから次のように3つのフィールドを印刷したかったのです。
2020-06-18 00:01:31|**ovou20200617_999_400280.unl**
最後のフィールドを印刷できましたが、日付/時刻(2020-06-18 00:01:31)とファイル名(ovou20200617_999_400280.unl)の両方を一緒に印刷できませんでした。
cat pro_upl_*_trap_$YestodayDate*|grep 'CUploadProcessRemoteFile.cpp' |awk -F "/" '{print $19}'
ヒント/ヘルプをいただければ幸いです。
ありがとう。
CUploadProcessRemoteFile.cpp
すべての行に存在するときにgrepを実行している理由はわかりませんが、理由があると仮定すると、をgrep
使用しているときに必要になることはawk
なくcat
、次の入力ファイルを開く必要もありませんawk
。
$ awk -F'[|/]' -v OFS='|' '/CUploadProcessRemoteFile\.cpp/{print $1, $NF}' file
2020-06-18 00:01:31|**ovou20200617_999_400280.unl**
2020-06-18 00:01:32|ocom20200617_512_400106.unl
2020-06-18 00:01:32|ocom20200617_515_400184.unl
2020-06-18 00:01:33|odata20200617_517_400092.unl
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加