为什么
grep -c '^\n' myfile.txt
当文件中有空行时, 返回0 ?
如果有一个空行,它会以新行开头吗?
如果我错了,请纠正我。
答案 0 :(得分:37)
与行尾相匹配的正则表达式为$
,而不是\n
(因为grep
一次处理一行,它会忽略行之间的换行符。)
grep -c '^$' myfile.txt
答案 1 :(得分:4)
grep并计算这样的空行:
grep -c "^$" myfile.txt
由于\n
被视为行尾,您需要使用行开头和行结束"^$"
答案 2 :(得分: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
)
:)