【发布时间】:2017-06-23 22:25:41
【问题描述】:
我需要获取包含某个字符串的最大文件。 我找到了一种列出所有具有该字符串的文件的方法:
grep -rwl '/tmp2disk' -e '{STRING}'
但我不知道如何按大小排序此列表并获得最大的文件。
【问题讨论】:
我需要获取包含某个字符串的最大文件。 我找到了一种列出所有具有该字符串的文件的方法:
grep -rwl '/tmp2disk' -e '{STRING}'
但我不知道如何按大小排序此列表并获得最大的文件。
【问题讨论】:
grep + du + sort 管道:
grep -rwl '{STRING}' | xargs du -bh | sort -rh
xargs du -bh - 估计每个文件的空间使用情况(以字节为单位)
sort -rh - 以数字降序对输出进行排序
【讨论】:
sort -rn将按数字排序,而不是sort -rh 以按人类可读的数字和单位排序
一个小的替代版本,而不是使用xargs,您可以执行以下操作:
grep -Zrlw "directory" -e "string" | du -k --files0-from=- | sort -nr
--files0-from 选项和- 作为参数。-Z 给出 NUL 终止输出;因此准备输出以供 du 的 --files0-from 选项使用。【讨论】: