繁体   English   中英

如何在“ wc -l”命令中截断目录行?

[英]How to truncate Directory lines in “wc -l” command?

我正在尝试获取当前工作目录中所有文件的总行数

为了做到这一点,我尝试了以下命令

wc -l * | tail -1

但是此命令还会返回目录。

我的输出就像

wc: Folder1: Is a directory
wc: Folder2: Is a directory
wc: Folder3: Is a directory
1714 total

我只想在输出中返回数字(在这种情况下为1714)。 然后我将其分配给变量以供以后使用。

如何截断目录行?

稍后我可能想将此命令与相对路径一起使用...我也不知道如何使用相对目录参数调用wc -l命令?

谢谢..

您可以使用:

wc -l * 2>/dev/null

更好的命令是使用find只获取文件:

要不然:

find . -maxdepth 1 -type f -print0 | xargs -0 -I % cat % | wc -l

要不然:

wc -l --files0-from=<(find . -maxdepth 1 -type f -print0) | awk 'END{print $1}'
find -mindepth 1 -maxdepth 1 -type f -exec cat {} ";" | wc -l

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM