找到一些文件并按大小排序结果并将其复制到文件夹

找到一些文件并按大小排序结果并将其复制到文件夹

好吧,我想使用 cmd“查找”来搜索一些文件,同时我想按大小对结果进行排序

sudo find ~ -name $i -exec du -sh {} \; | sort -nr | head -1

我使用 cmd“du”来查看尺寸,并使用“sort”来从大到小对尺寸进行排序,但是不起作用,有人可以帮帮我吗?

最后我想将我的研究结果复制到一个文件夹中,因此我使用:

cp ` find ~ -type f -name $i -exec du -sk {} \; | sort -nr | head -1 ` The_Directory

所以我用了这个方法来复制最大尺寸的文件,但是它不起作用。

答案1

du -h报告人类可读的尺寸后缀(K、M、G),但要进行排序,您需要使用通用尺寸后缀报告所有修复:

find ~ -name "$i" -exec du -sk {} \;|sort -rn

提取最大的:

x=$(find . -name "$i" -exec du -sk {} \;|sort -rn|head -1|sed -e's:[0-9]*::')
cp "$x" ...

相关内容