Linux 框,计算目录中每个子文件夹的文件
Linux box, counting files each subfolder in directory
我已经为 Linux 盒子准备了这条线。
find . -type f -name '*.txt' -exec ls -l {} \;
正在获取目录中的所有 TXT 文件。但是我不能做,我想做的是,读取一个目录下子文件夹中的所有.txt文件。
例如:ParentTxtFolder --> ChildTxtFolder --> Txtfolder1、Txtfolder2、Txtfolder3。每个 Txt 文件夹包含 .txt 文件。
所以我想要的是,扫描 Txtfolder1 并计算 .txtfiles。
如果此输出是可能的,则预期输出:
Txtfolder1 - 14
Txtfolder2 - 10
Txtfolder3 - 18
我真的被这个问题困住了。提前致谢!
$ find . -type f -name '*.txt' | awk '$NF=""; {a[[=10=]]++} END{for( i in a) print i, a[i]}' FS=/
. 2
. foo 1
. foo bar 2
在此示例中,. 中有 2 个文件,foo 中有 1 个文件,foo/bar 中有 2 个文件。此输出不完全您想要的,但不清楚差异是否相关。
一种方法是这样的:
for d in `find . -type d` ; do echo -n "$d: " ; find "$d" -type f -depth 1 -name \*.txt | wc -l ; done
或更简洁:
for d in `find . -type d` # for each directory
do
echo -n "$d: " # print directory name
find "$d" -type f -depth 1 -name \*.txt | wc -l
done # followed by count of .txt files in directory
我已经为 Linux 盒子准备了这条线。
find . -type f -name '*.txt' -exec ls -l {} \;
正在获取目录中的所有 TXT 文件。但是我不能做,我想做的是,读取一个目录下子文件夹中的所有.txt文件。
例如:ParentTxtFolder --> ChildTxtFolder --> Txtfolder1、Txtfolder2、Txtfolder3。每个 Txt 文件夹包含 .txt 文件。
所以我想要的是,扫描 Txtfolder1 并计算 .txtfiles。
如果此输出是可能的,则预期输出:
Txtfolder1 - 14
Txtfolder2 - 10
Txtfolder3 - 18
我真的被这个问题困住了。提前致谢!
$ find . -type f -name '*.txt' | awk '$NF=""; {a[[=10=]]++} END{for( i in a) print i, a[i]}' FS=/
. 2
. foo 1
. foo bar 2
在此示例中,. 中有 2 个文件,foo 中有 1 个文件,foo/bar 中有 2 个文件。此输出不完全您想要的,但不清楚差异是否相关。
一种方法是这样的:
for d in `find . -type d` ; do echo -n "$d: " ; find "$d" -type f -depth 1 -name \*.txt | wc -l ; done
或更简洁:
for d in `find . -type d` # for each directory
do
echo -n "$d: " # print directory name
find "$d" -type f -depth 1 -name \*.txt | wc -l
done # followed by count of .txt files in directory