我想从控制台计算一些xyz
文件的数量。
我有这样的安排:
文件夹-A
文件夹-B
文件夹-C
所有这些文件都包含xyz
个文件。
我需要命令来返回xyz
个文件的数量及其位置。
例如:/ home / path / to / A 25;然后是B等等。
有可能吗?我在考虑使用find -name *.xyz
,但不知道下一步该使用什么。
任何帮助?
答案 0 :(得分:2)
find FolderA FolderB FolderC -type f -name '*.xyz' | wc -l
wc -l
表示“单词计数,仅限行数”。由于find将每行列出一个文件,因此返回它找到的文件数。答案 1 :(得分:2)
for i in FolderA FolderB FolderC
do
echo -n $i :
find $i -type -f -name '*.yzx' | wc -l
done
这应该可以解决问题。
echo -n
打印一行而不返回行,因此它应该打印如下内容:
Folder A: 17
Folder B: 0
Folder B: 4
答案 2 :(得分:0)
通过@tso调整解决方案:
for d in Folder-A Folder-B Folder-C
do
find $d -type f -name '*.xyz'
done | wc -l
获取每个文件夹的单独计数:
for d in Folder-A Folder-B Folder-C
do
echo $d $(find $d -type f -name '*.xyz' | wc -l)
done