文字が一度だけ含まれる行を削除する方法

文字が一度だけ含まれる行を削除する方法

特定の文字が一度だけ含まれているファイルから行を削除し、その行が複数回表示されるか存在しない場合は、その行をファイルに保持したいと思います。

たとえば、

DTHGTY
FGTHDC
HYTRHD
HTCCYD
JUTDYC

ここで削除する文字は、Cコマンドが一度だけ行を削除する必要がある文字FGTHDCです。JUTDYCC

sedまたはを使用してこれをどのように実行できますかawk

ベストアンサー1

awkフィールド区切り記号を何でも設定できます。に設定すると、C+1だけフィールドが発生しますC

awk -F'C' '{print NF}' <<< "C1C2C3"したがって、次のように言うと4CCC:には3C秒が含まれるため、4つのフィールドがあります。

C一度だけ表示される行を削除しようとしています。これを念頭に置いて、あなたの場合はC正確に2つのフィールドを持つ行を削除する必要があります。だからスキップしてください:

$ awk -F'C' 'NF!=2' file
DTHGTY
HYTRHD
HTCCYD

おすすめ記事