27

为什么

grep -c '^\n' myfile.txt

当文件中有空行时返回 0 ?

如果有一个空行,它会从一个新行开始,对吗?

如果我错了,请纠正我。

4

3 回答 3

50

匹配行尾的正则表达式是$, not \n(因为一次grep工作一行,它忽略行之间的换行符)。

grep -c '^$' myfile.txt
于 2013-09-02T05:28:10.370 回答
9

grep 并计算空行,如下所示:

grep -c "^$" myfile.txt

被认为是行尾,您\n需要使用行开始和行结束"^$"

于 2013-09-02T05:27:50.813 回答
0

其他答案-c是正确的。

如果您想查看文件中的空行是什么数字:

grep -n '^$' myfile.txt

例如:

grep -n '^$' /usr/share/wordlists/rockyou.txt
4751:
34329:
50383:
99361:
154363:
231236:
562997:
2459758:
14344383:
14344384:
14344385:

(如果你想删除它们sed -i '/^$/d' myfile.txt:)

:)

于 2021-07-11T21:06:49.140 回答