特定の文字列を含む行を出力しようとしています。
行の例:
Column1:Column2:Column3 + ID
Column1:Column2:Column3 - ID
Column1:Column2:Column3
希望の出力:
Column1:Column2:Column3 + ID
頑張る-
awk -F: '$3 == + ID' < file.txt > out.txt
他の入力なしで列3から正確な「+ ID」を取得するため、出力は返されません。
今私はできることを知っています
grep -f " + ID" <file.txt >out.txt
ただし、+IDが列3にない場合は、+IDを含むすべての行が出力されます。例は次のとおりです。
出力:
Column1:Column2 + ID:Column3
+IDは列3ではなく列2にあります。
これで、特定の.txtファイルだけでなくすべてのファイルを検索しながら、ディレクトリ内でもこれを行いたいと思います。
ベストアンサー1
文字列一致ではなく、フィールドの末尾に固定された正規表現一致を使用できます。
awk -F: '$3 ~ /+ ID$/' < file.txt
Column1:Column2:Column3 + ID
または行の末尾に固定するには、以下を使用しますgrep
。
grep '+ ID$' < file.txt
Column1:Column2:Column3 + ID