awk - $2に文字列が含まれている場合は行を削除する

awk - $2に文字列が含まれている場合は行を削除する

$ 2に文字列が含まれている場合は、行全体を削除したいと思います。

文字列の例 = "hello123"

入力例:

Hey:hello123
Hey:hello

予想出力:

Hey:hello

ベストアンサー1

<input.txt awk -F: '$2 !~ "hello123"' >output.txt

フィールド区切り文字に設定し、:2番目の列に含まれていないすべての行を印刷します。hello123


これがスクリプトの一部になる場合は、検索パターンとともにawkにシェル変数を渡すことが役に立ちます。

var='hello123'
awk -F: -v pattern="$var" '$2 !~ pattern' input.txt > output.txt

おすすめ記事