if [[ -d $1 ]]; then
largestN=$(find $1 -depth -type f | tr '\n' '\0' | du -s --files0-from=- | sort | tail -n 1 | awk '{print $2}')
largestS=$(find $1 -depth -type f | tr '\n' '\0' | du -h --files0-from=- | sort | tail -n 1 | awk '{print $1}')
echo "The largest file is $largestN which is $largestS bytes."
else
echo "$1 is not a directory..."
fi
这打印"最大的文件[file]是96k字节"
答案 0 :(得分:0)
此
有-b
选项
$ du -b ...
答案 1 :(得分:0)
看起来您正在尝试查找给定目录中的最大文件。让find
为你做繁重的工作更有效(也更短):
find $1 -type f -printf '%s %p\n' | sort -n | tail -n1
此处,%s
扩展为文件的大小(以字节为单位),%p
扩展为文件名。