gpt4 book ai didi

linux - 查找每个目录的最大文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:46:23 25 4
gpt4 key购买 nike

我目前无法列出特定目录中每个 子目录的最大文件。通过输入以下命令(在 Debian 中),我成功地列出了目录中最大的文件:

find . -type f -printf "%p\n" | ls -rS |tail -1

我希望在 shell 文件 (searchHelper.sh) 中输入命令并运行以下命令将返回每个子目录的预期文件名:

find -type d -execdir ./searchHelper.sh {} +

不幸的是,它不会返回每个子目录的最大文件,而是返回其他内容。

我可以得到有关获取每个子目录的最大文件的文件名(带绝对路径)的提示吗?

提前致谢

最佳答案

试试这个安全且经过测试的版本:

find "$(pwd)" -depth -type f -printf "d%h\0%s %p\0" | awk -v RS="\0" '
/^d/ {
directoryname=substr($0,2);
}
/^[0-9]/ {
if (!biggestfilesizeindir[directoryname] || biggestfilesizeindir[directoryname] < $1) {
biggestfilesizeindir[directoryname]=$1;
biggestfilesizefilenameindir[directoryname]=substr($0,index($0," ")+1);
}
}
END {
for (directoryname in biggestfilesizefilenameindir) {
print biggestfilesizefilenameindir[directoryname];
}
}'

即使名称包含特殊字符也是安全的:' " \n

关于linux - 查找每个目录的最大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36694139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com