Как найти небольшие непустые папки?

Введите имя файла с одинарными кавычками.

cd 'foo bar baz literal string'

В оболочке ничего не интерпретируется внутри одинарных кавычек, поэтому вы должны быть в безопасности от наличия необычных символов.

2
задан 8 November 2011 в 07:35

2 ответа

Одна команда, которую я использую, пока вам не нужно транслировать это прямо в другой скрипт, является

du. | sort -rn

Это помещает наименьшие папки внизу печатного списка вместе с их размерами. Требуется немного больше работы, чтобы отфильтровать те, которые больше.

3
ответ дан 25 May 2018 в 17:05
  • 1
    легко и элегантно - нравится :) – Paradiesstaub 8 November 2011 в 07:43
  • 2
    Если у вас есть скрипт типа awk, который может фильтровать по первому полю, конечная команда, которую вы можете загрузить, чтобы избавиться от числа в начале, это | cut -f 2- – ekthomson 8 November 2011 в 08:02
  • 3
    Если у вас слишком много строк на вашем экране, вы можете просмотреть их на своем терминале, который вы можете добавить " & gt; & gt; & gt; du.log " непосредственно в конце этой команды, чтобы записать вывод этой команды в этот файл. Действительно удобный трюк, когда экран просто выливается слишком много! Откройте и просмотрите в своем любимом текстовом редакторе. (может потребоваться sudo в зависимости от вашего местоположения или использовать & gt; & gt ;/home/YOURUSER/du.log, чтобы сохранить его на дому. Повторить: " du. | sort -rn & gt; & gt; output.log " – Laice 8 November 2011 в 11:27
  • 4
    Я не n00b;) – Paradiesstaub 11 November 2011 в 00:57

Если вы просто хотите удалить папки, содержащие меньше N байтов, будет работать следующий один лайнер:

du | awk '$1 <= 500 { print "rm -rf \"" substr($0, length($1)+2) "\""}' | sh

Что это делает? Последовательно:

du печатает размеры каталогов вместе с их путями $1 <= 500 - это условие, которое проверяет, если первый столбец меньше 500 (если он меньше 500 байт) print в awk-отпечатках [ f5] | sh заправляет его в sh, поэтому его можно выполнить

Вы также можете сделать это с помощью xargs вместо того, чтобы прокладывать его в sh, но я привык к этому.

1
ответ дан 25 May 2018 в 17:05

Другие вопросы по тегам:

Похожие вопросы: