# 查找文件目录下大于8M的文件,并以JSON格式输出 (使用perl作为编码器)
find . -size +8M -print | xargs ls -lh | perl -e 'use JSON; @in=grep(s/\n$//, <>); print encode_json(\@in)."\n";'
如果您知道没有文件名包含换行符,请使用jq:
ls | jq -R -s -c 'split("\n")'
对jq标志的简短解释:
-R将输入视为字符串而不是JSON
-s将所有行连接到一个数组中
-c创建一个紧凑的输出
这需要jq 1.4或更高版本。 试试这个,如果它不适合你:
ls | jq -R '[.]' | jq -s -c 'add'
#查找目录下大于3M的文件,并将其删除
find . -size +3M -print |xargs rm -rf