如何通过sed找到我在文件中有多少行 (需要忽略空格和空行)
例如
如果我有139行文件(行只能包含一个字符) 那么sed应该返回139
利迪娅
答案 0 :(得分:11)
这是grep
的作业,而不是sed
:
<myfile grep -c '[^[:space:]]'
答案 1 :(得分:3)
您可以尝试:
sed -n '/[^[:space:]]/p' filename | wc -l
此处sed
仅打印那些至少有一个非空格字符的行,wc
计算这些行。
答案 2 :(得分:1)
使用nawk代替sed。
nawk 'NF{c++}END{print "total: "c}' file
答案 3 :(得分:0)
sed '/^ *$/ d' filename | wc -l
这里,sed
在删除从开头到结尾有0个或更多空格的所有行之后打印行。 wc -l
是计算这些行的数量。
答案 4 :(得分:0)
使用Perl one-liner:
perl -lne '$count++ if /\S/; END { print int $count }' input.file