我需要获取包含特定字符串的最大文件。 我找到了一种列出所有具有该字符串的文件的方法:
grep -rwl '/tmp2disk' -e '{STRING}'
但我不知道如何按大小订购此列表并获取最大的文件。
答案 0 :(得分:2)
grep + du + 排序管道:
grep -rwl '{STRING}' | xargs du -bh | sort -rh
xargs du -bh
- 估算每个文件的空间使用量(以字节为单位)
sort -rh
- 按降序对输出进行数字排序
答案 1 :(得分:1)
小型替代版本,而不是使用xargs
,您可以执行以下操作:
grep -Zrlw "directory" -e "string" | du -k --files0-from=- | sort -nr
--files0-from
选项与-
一起用作参数。-Z
给出NUL终止的输出;从而准备输出du
的{{1}}选项。