我正在尝试获取当前工作目录中所有文件的总行数
为了做到这一点,我尝试了以下命令
wc -l * | tail -1
但是这个命令也会返回目录..
我的输出就像
wc: Folder1: Is a directory
wc: Folder2: Is a directory
wc: Folder3: Is a directory
1714 total
我只想要输出中的返回编号(本例中为1714)。 然后我将它分配给变量以便以后使用它。
如何截断目录行?
稍后我可能想要使用此命令与相对路径... 我不知道如何使用相对目录参数调用wc -l命令?
谢谢..
答案 0 :(得分:1)
您可以使用:
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}'
答案 1 :(得分:1)
find -mindepth 1 -maxdepth 1 -type f -exec cat {} ";" | wc -l