为什么会
grep -c '^\n' myfile.txt
如果文件中存在空行,需要返回return 0吗?
如果有空行,它是以新的一行开始的,对吗?
如果我理解有误,请纠正我。
匹配行尾的正则表达式是$
,而不是\n
(因为grep
逐行处理,会忽略行之间的换行符)。
grep -c '^$' myfile.txt
使用grep命令统计空白行的数量,命令如下:
grep -c "^$" myfile.txt
由于\n
被视为行尾,你需要使用行首和行尾"^$"
其他带有-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
)
:)
$
)都出现在行的结尾处,但其他工具的行为不同。然而,在所有工具中,“$”始终表示“字符串的结尾”。 - Ed Morton-o
grep
选项会忽略空行。 - Artfaith