到目前为止,我有这个:
find -name ".txt"
我不太确定如何使用wc找出确切的文件数。使用上面的命令时,所有.txt文件都会显示,但是我需要扩展名为.txt的确切文件数。请不要建议使用其他命令,因为我想专门使用find和wc。谢谢
尝试:
find . -name '*.txt' | wc -l
该-l
选项wc
告诉它返回的行只是数。
如果任何.txt文件名包含换行符,则以上代码将给出错误的数字。这将与任何文件名一起正常工作:
find . -iname '*.txt' -printf '1\n' | wc -l
-printf '1\n
告诉find
仅打印1
找到的每个文件名的行。这样可以避免文件名具有困难字符的问题。
让我们创建两个.txt
文件,一个文件的名称中包含换行符:
$ touch dir1/dir2/a.txt $'dir1/dir2/b\nc.txt'
现在,让我们找到find命令:
$ find . -name '*.txt'
./dir1/dir2/b?c.txt
./dir1/dir2/a.txt
要计算文件:
$ find . -name '*.txt' | wc -l
3
如您所见,答案只有一个。改进的版本,但是,正常工作:
$ find . -iname '*.txt' -printf '1\n' | wc -l
2
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句