行に2つの値(列)しか含まれていない場合は、特定の文字列を含むファイル行をすべて削除したいと思います。 sedを試してみましたが、その文字列を含むすべての行が削除されます。
sed '/string/d' file
ex XX 文字列の場合、入力ファイルは次のようになります。
A B C D
XX 5 6
XX 2
XX 1 2 3
出力ファイルは
A B C D
XX 5 6
XX 1 2 3
答え1
1つの方法は、パターン部分を使用してtrueと評価し、デフォルトで行を印刷することです。
awk -v str="XX" '
NR == 1 || $1 != str || NF != 2
' file
ターゲット文字列が最初のフィールドでのみ一致すると仮定します。