How to count lines in a document?
我有这样的线条,我想知道我有多少线条…
| 1 2 3 4 5 6 7 | 09:16:39 AM  all    2.00    0.00    4.00    0.00    0.00    0.00    0.00    0.00   94.00 09:16:40 AM all 5.00 0.00 0.00 4.00 0.00 0.00 0.00 0.00 91.00 09:16:41 AM all 0.00 0.00 4.00 0.00 0.00 0.00 0.00 0.00 96.00 09:16:42 AM all 3.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 96.00 09:16:43 AM all 0.00 0.00 1.00 0.00 1.00 0.00 0.00 0.00 98.00 09:16:44 AM all 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 09:16:45 AM all 2.00 0.00 6.00 0.00 0.00 0.00 0.00 0.00 92.00 | 
有没有一种方法可以使用Linux命令来计算它们的总数?
使用
| 1 | wc -l <filename> | 
这将输出
| 1 2 | $ wc -l /dir/file.txt 3272485 /dir/file.txt | 
或者,为了从结果中省略
| 1 2 | $ wc -l < /dir/file.txt 3272485 | 
您还可以将数据传输到
| 1 2 3 4 | $ cat /dir/file.txt | wc -l 3272485 $ curl yahoo.com --silent | wc -l 63 | 
要计算所有行,请使用:
| 1 | $ wc -l file | 
要仅筛选和计数带图案的行,请使用:
| 1 | $ grep -w"pattern" -c file | 
或者使用-v来反转匹配:
| 1 | $ grep -w"pattern" -c -v file | 
请参阅grep手册页查看-e、-i和-x参数…
| 1 | wc -l <file.txt> | 
或
| 1 | command | wc -l | 
有很多方法。使用
其他包括
| 1 | grep -c".*" file | 
在类似Unix和Unix的操作系统中,工具
使用
| 1 | wc -l <filename> | 
如果要检查目录中所有文件的总行数,可以使用find和wc:
| 1 | find . -type f -exec wc -l {} + | 
如果您只需要行数(而不是行数和返回的愚蠢文件名):
| 1 | wc -l < /filepath/filename.ext | 
如前所述,这些功能也可以工作(但由于其他原因较低):
| 1 2 3 | awk 'END{print NR}' file       # not on all unixes sed -n '$=' file # (GNU sed) also not on all unixes grep -c".*" file # overkill and probably also slower | 
我一直在用这个:
| 1 | cat myfile.txt | wc -l | 
我更喜欢它而不是接受的答案,因为它不打印文件名,而且您不必使用
但我认为最好的答案是GGB667的答案:
从现在开始我可能会用它。比我的路稍微短一点。我正在用我以前的方法来做,以防有人喜欢。这两种方法的输出是相同的。
这样使用
| 1 | nl filename | 
来自
Write each FILE to standard output, with line numbers added. With
no FILE, or when FILE is -, read standard input.
以上是首选方法,但"cat"命令也有帮助:
| 1 | cat -n <filename> | 
将用行号显示文件的全部内容。
我在寻找计算多个文件行的方法时看到了这个问题,所以如果你想计算一个.txt文件的多个文件行,你可以这样做,
| 1 | cat *.txt | wc -l | 
它还将在一个.txt文件上运行;)
| 1 | wc -l file.txt | cut -f3 -d"" | 
仅返回行数
| 1 | cat file.log | wc -l | grep -oE '\d+' | 
- grep -oE '\d+' :仅返回数字。
重定向/通过管道将文件输出到
| 1 | cat /etc/fstab | wc -l | 
然后只提供行数。
我知道这是旧的,但还是:计算过滤后的行数
我的文件如下:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | Number of files sent Company 1 file: foo.pdf OK Company 1 file: foo.csv OK Company 1 file: foo.msg OK Company 2 file: foo.pdf OK Company 2 file: foo.csv OK Company 2 file: foo.msg Error Company 3 file: foo.pdf OK Company 3 file: foo.csv OK Company 3 file: foo.msg Error Company 4 file: foo.pdf OK Company 4 file: foo.csv OK Company 4 file: foo.msg Error | 
如果我想知道发送了多少文件,可以:
| 1 | grep"OK" <filename> | wc -l | 
或
| 1 | grep -c"OK" filename | 
或使用文件名模式(例如,文件名中带有时间戳的日志文件)计算子目录中的所有行数:
| 1 | wc -l ./**/*_SuccessLog.csv | 
计数行数并将结果存储在变量中使用此命令:
我刚做了一个程序来做这个(和
| 1 2 | npm install gimme-lines gimme-lines verbose --exclude=node_modules,public,vendor --exclude_extensions=html | 
https://github.com/danschumann/gimme-lines/tree/master网站
正如其他人所说,
| 1 | perl -lne 'END { print $. }' |