8

を使用してテキストファイルから「C」で始まる行を削除するにはどうすればよいawkですか?

任意の提案をお願いします。

4

4 に答える 4

15

データがファイルdata.txtにある場合は、

awk

awk '!/^C/' data.txt

grep

grep -v ^C data.txt 

先頭に「C」を付けずにすべての行を表示します。

^C行頭の文字「C」と一致することを意味します!awkで、-vgrepで一致を否定します。

于 2012-06-20T11:54:06.133 に答える
2

してもいいです:

awk '!/^C/{print $0}'
于 2012-06-20T10:24:37.237 に答える
1

sed:

sed -i~ '/^C/d' inFile
于 2012-06-20T11:15:20.477 に答える
1

それは初歩的です:

awk '/^[^C]/'

{}と同じ意味の awk コマンドのセクションを省略した場合、{print}または行を出力します。stdin//に適用される re-filter です。フィルタに適合する行だけが処理されます。

^[^C]正規表現です。最初^はアンカーで、行の始まりを意味します。andは、 C 以外の任意の文字を[^C]意味するシンボル クラスです。

于 2012-06-20T10:34:01.580 に答える