次のコマンドを使用して、ファイルから2つの単語を検索しますgrep
。
grep "ADDR|USCDB" VLR.txt |awk -F" " '{print $3 " " $4}' > prueba.txt
出力は次のとおりです
2021-03-12 14:27:15
RESULT=VLR, ADDR="573025000022";%%
2021-03-12 14:27:15
RESULT=VLR, ADDR="573025000023";%%
2021-03-12 14:27:15
RESULT=VLR, ADDR="573025000024";%%
私が達成したいのは、日付と結果を同じ行に表示することです。
2021-03-12 14:27:15 RESULT=VLR, ADDR="573025000022";%%
2021-03-12 14:27:15 RESULT=VLR, ADDR="573025000023";%%
2021-03-12 14:27:15 RESULT=VLR, ADDR="573025000024";%%
ベストアンサー1
USCDB
各行の前には常に次が付いているとしますADDR
。
awk '$2 == "USCDB" { date = $3 " " $4 } $4 ~ /^ADDR=/ { print date, $3, $4 }' input
date
行が見つかるたびに、変数USCDB
に日付が保存されます。行が見つかると、ADDR
この値はフィールド3と4と共に出力されます。
ADDR
USCDB
また、2つの文字列を一致させ、行全体で一致させるのではなく、特定のフィールドでのみ一致させることについても厳密です。
テストするデータがないため、コードはテストされていません(スクリーンショットがありましたが、今は失われました)。