如何用awk删除以“C”开头的行?

时间:2012-06-20 10:21:30

标签: shell awk

如何使用awk从文本文件中删除以“C”开头的行?

请提出任何建议。

4 个答案:

答案 0 :(得分:12)

如果数据在文件data.txt中,则

使用awk

awk '!/^C/' data.txt

使用grep

grep -v ^C data.txt 

在开头显示所有没有“C”的行。

^C表示在 start 行匹配字母“C”。在awk中!,在grep中-v否定匹配。

答案 1 :(得分:2)

你可以:

awk '!/^C/{print $0}'

答案 2 :(得分:1)

使用sed

sed -i~ '/^C/d' inFile

答案 3 :(得分:0)

这是基本的:

awk '/^[^C]/'

当您省略awk命令的{}部分时,表示与{print}相同或打印行//是重新过滤应用于stdin的过滤器。只处理那些符合过滤器的行。

^[^C]是一种规则的表达。第一个^是一个锚,它意味着行的开头; [^C]是一个符号类,表示除C 之外的任何字符。