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

这是基本的:

awk '/^[^C]/'

当您省略{}awk 命令的部分时,它的含义与{print}打印该行相同。并且//是应用于标准输入的重新过滤器。只有符合过滤器的行才会被处理。

^[^C]是一个正则表达式。第一个^是anchor,表示首;and[^C]是一个符号类,表示除 C 之外的任何字符

于 2012-06-20T10:34:01.580 回答
1

sed

sed -i~ '/^C/d' inFile
于 2012-06-20T11:15:20.477 回答