shell 如何在Linux中查找所有.zip文件和文件大小

qcuzuvrc  于 12个月前  发布在  Shell
关注(0)|答案(5)|浏览(152)

我有2TB的数据。我想列出整个.zip.rar文件和目录中的文件大小,我想排除01_Personal文件夹目录。
我试过在下面指挥,但没有成功。

find /home -type f ( -name ".zip" -o -name ".rar" ) ! -path "01_Personal Folder*" -print0 | xargs -0 -n1 du -b | sort -n -r > winrar.txt

任何其他方式来查找文件和文件大小。
谢谢你的帮助

izkcnapc

izkcnapc1#

请尝试下面的命令。

ll `find -iname *.bz2`
k2arahey

k2arahey2#

回想一下,find有一个 predicate printf来创建格式化的输出,包括大小。因此,您可以将过滤和格式化合并组合在一起:

find /home -type f '(' -name "*.zip" -o -name "*.rar" ')' '!' -path "01_Personal Folder*" -printf '%P %k\n'

注意:记住引用所有可能有特殊含义的标记。这包括文件模式(*.zip,...),圆括号,感叹号,这可能意味着shell的东西。
使用find对名称/文件夹进行过滤,消除了对不相关文件的搜索和大小计算。

2mbi3lxu

2mbi3lxu3#

你应该使用find
find -iname *.zip
示例:要搜索当前目录和所有子目录中的所有.zip文件,请尝试以下操作:
查找. -iname *.zip
这将列出所有以.zip结尾的文件。如果您只想要小写的更改-iname-name
命令grep搜索文件中的sting,而不是文件。您可以使用它与查找列出您的所有.zip文件像这样
找到.| grep -e“.zip$”
在你得到.zip文件列表后,你可以很容易地找到它们的大小。

apeeds0o

apeeds0o4#

你可以使用下面的命令:杜阿|“.zip”-e“.rar”
说明:du表示磁盘使用情况,-h表示人类可读的大小。grep将找到.zip的匹配项,对于多个单词,我们将使用-e。

tuwxkamq

tuwxkamq5#

通过对@ prayas-pagade的答案进行轻微修改,我能够使用以下命令实现它:
du -ah | grep -e "\.zip$" -e "\.rar$"

相关问题