我想做这个:
ls -altrhS 'find / -type d \( ! -name tmp -prune \) -size +10000k 2> /dev/null -print' | egrep -v 'ibd|MYD|MYI'
所以我想以这种格式列出特定大小的文件(不包括 tmp 目录)。我读过的所有内容都说应该这样做,但它不起作用,我也不断获取临时目录的内容。
答案1
尝试这个:
find / -not -path "*/tmp/*" -size +10000k -ls 2> /dev/null | \
sort -n -k7 | egrep -v 'ibd|MYD|MYI'
解释:
find / -not -path "*/tmp/*" -size +10000k -ls
:查找路径不以/tmp/
大于 10000k 开头的所有内容,并以find
自己的ls -dils
格式打印输出。sort -n -k7
:正如您在问题中的陈述ls -altrhS
,我假设您希望输出按文件大小升序排序。第 7 个字段ls -dils
的输出是find
文件大小egrep -v 'ibd|MYD|MYI'
和你自己的egrep
部分来过滤掉这些字符串
编辑:
如果您想要人类可读的文件大小格式,ls
请使用以下命令:
find / -type f -not -path "*/tmp/*" -size +10000k -printf "%s %p\n" 2> /dev/null | sort -n -k1 | cut -d' ' -f2- | xargs -L 1 ls -lh