我有这个命令来查找大于 2 KB 的文件并按大小排序:
find . -size +2k -name *.log -printf "%p \t%k kb\n" | ls -lS
但ls -lS
也给出小于 2 KB 的文件。
如何显示大于 2 KB 的文件的名称和大小(按大小排序)?
答案1
尝试
find . -size +2k -printf "%p \t%k kb\n" | sort -k2n
答案2
ls 命令将列出当前目录,而不是从标准输入读取内容。
使用
find . -size +2k -name *.log -printf "%s %p \t%k kb\n" | sort -n | sed -e '/^[0-9]* //'
答案3
和zsh
:
zmodload zsh/stat
printf '%s\n' **/*.log(DLK+2oLe'[
stat -A blk +block -- $REPLY && REPLY+=" $((blk / 2)) KiB"]')
报道称磁盘使用情况的日志文件的尺寸大于 2048,排序为尺寸。