Mac OS X 终端 - 显示子文件夹中的文件类型列表
Mac OS X Terminal - Display list of File Types from Subfolders
我有一个外部硬盘驱动器,其中包含已恢复驱动器的内容。所有文件夹都有 'recup_dir.XX' 个名称,一千多个。
我已经复制了所有我能想到的特定文件类型的内容:
find . -type f -name \*.jpg -exec cp \{\} /Volumes/somedrive/somefolder/ \;
我查看了所有我能想到的文件类型 - 但我想查看驱动器和子文件夹中的文件类型。
我可以使用什么命令遍历所有文件夹和子文件夹并显示每种文件类型的“总数”?
du -hcs
给出了驱动器的总数 - 但我想要的是每种文件类型的总数。
谁能帮我指明正确的方向。我有数以千计的文件夹,我想确保没有忘记任何文件类型 - 所以想获取它们的列表。
提前感谢您的帮助。
您可以使用 awk(以及其他脚本语言)执行此操作。这是 awk
中的脚本:
#!/bin/sh
find . -type f -ls | awk '
{
type = ;
if ( type ~ /\./ ) {
sub(/^.*\./, "", type);
} else {
type = ".";
}
sizes[type] += ;
}
END {
for ( type in sizes ) {
printf "%10d %s\n", sizes[type], type;
}
}' | sort -r -n
它使用一个数组sizes
,以文件后缀作为索引。 awk
没有内置排序,但您可以通过 sort
.
管道化结果来做到这一点
例如,这里是 MacOS 运行 在 xterm 软件包的 Debian 脚本副本中的输出:
341580 html
72830 /changelog
8458 /copyright
5846 /control
5754 diff
2401 /rules
1817 Debian
1328 asc
1284 postinst
964 1
723 prerm
631 /NEWS
442 faq
419 /local/lxterm
279 ctlseqs
162 conf
127 install
125 /tests/control
102 /watch
101 docs
58 /patches/series
23 /clean
12 /source/format
3 /compat
您在 运行 脚本时看到的内容取决于存在的文件后缀。在这个例子中,有几个大的“.html”文件。
我有一个外部硬盘驱动器,其中包含已恢复驱动器的内容。所有文件夹都有 'recup_dir.XX' 个名称,一千多个。
我已经复制了所有我能想到的特定文件类型的内容:
find . -type f -name \*.jpg -exec cp \{\} /Volumes/somedrive/somefolder/ \;
我查看了所有我能想到的文件类型 - 但我想查看驱动器和子文件夹中的文件类型。
我可以使用什么命令遍历所有文件夹和子文件夹并显示每种文件类型的“总数”?
du -hcs
给出了驱动器的总数 - 但我想要的是每种文件类型的总数。
谁能帮我指明正确的方向。我有数以千计的文件夹,我想确保没有忘记任何文件类型 - 所以想获取它们的列表。
提前感谢您的帮助。
您可以使用 awk(以及其他脚本语言)执行此操作。这是 awk
中的脚本:
#!/bin/sh
find . -type f -ls | awk '
{
type = ;
if ( type ~ /\./ ) {
sub(/^.*\./, "", type);
} else {
type = ".";
}
sizes[type] += ;
}
END {
for ( type in sizes ) {
printf "%10d %s\n", sizes[type], type;
}
}' | sort -r -n
它使用一个数组sizes
,以文件后缀作为索引。 awk
没有内置排序,但您可以通过 sort
.
例如,这里是 MacOS 运行 在 xterm 软件包的 Debian 脚本副本中的输出:
341580 html 72830 /changelog 8458 /copyright 5846 /control 5754 diff 2401 /rules 1817 Debian 1328 asc 1284 postinst 964 1 723 prerm 631 /NEWS 442 faq 419 /local/lxterm 279 ctlseqs 162 conf 127 install 125 /tests/control 102 /watch 101 docs 58 /patches/series 23 /clean 12 /source/format 3 /compat
您在 运行 脚本时看到的内容取决于存在的文件后缀。在这个例子中,有几个大的“.html”文件。