Я хочу создать сценарий bash, который находит каталоги более 500 МБ в каталоге foo
.Как найти самые большие каталоги
У меня есть эта команда, которая находит каталоги с foo в порядке возрастания размера.
du /foo/* | sort -n
Проблема с этим связана с размером родительского каталога. Так, например, выход будет:
...
442790 /foo/bar/baz/qux
442800 /foo/bar/baz
442880 /foo/bar
Я хочу выход только показать /foo/bar/baz/qux
. Поскольку родительские каталоги содержат /foo/bar/baz/qux
, там есть собственный размер файла, но на самом деле это крошечные папки, за исключением /foo/bar/baz/qux
.
Некоторые псевдо-код:
if the current directory is greater than 500mb then
check next directory is parent to current directory (i.e `/foo/bar/baz` is parent of `/foo/bar/baz/qux`) then
takeaway size of parent from current.
if resulting size is greater than 500mb then
return row
else
go to next row
else
go to next row
else
go to next row
Теперь я из мобильного приложения, но я уверен, что есть опция «найти» для выполнения именно этого. поиск по SO. – rpax