什么是“grep -v'^ $'file.txt”在做什么?

时间:2016-07-22 14:34:56

标签: regex linux unix grep

我之前没有使用-v选项grep。帮助中的描述说“反转匹配感,选择不匹配的线条。”

命令grep -v '^$' file.txt是什么?

1 个答案:

答案 0 :(得分:2)

正如您所指出的那样,grep颠覆了匹配感。

参见一个基本示例:

$ cat file
1
2

3
4
5
$ grep 3 file
3
$ grep -v 3 file
1
2

4
5

在这种情况下,您正在匹配^$。这意味着:只包含行的开头和行尾的行;也就是说,空行。

按照上一个例子:

$ grep '^$' b
                      # one empty line

随后,grep -v '^$' file匹配所有非空行:

$ grep -v '^$' file
1
2
3             # see how the empty line is not showing
4
5