Сортировка вывода моего каталога

Как я могу создать новый файл с именем Option1.txt на моем рабочем столе. Этот файл должен содержать содержимое моего "домашнего" каталога. И как бы я сделал мой вывод:

  • Сортировка по алфавиту по расширению записи.
  • Включает в себя любые скрытые файлы и папки.
  • Показывает все размеры файлов в удобочитаемом формате

3 ответа

ls -alXh > Option1.txt

man ls помог бы, тоже...;)

ls -ahlX ~|awk '{printf "%-20s %-40s\n",$9,$5 }'>~/Desktop/Option1.txt

Сортировка по алфавиту по расширению записи.(Using ls -X)

Включает в себя любые скрытые файлы и папки.(Использование ls -a)

Показывает все размеры файлов в удобочитаемом формате (используя ls -lh)

awk '{print $9,$5 } просто печатает имя и размер файлов и каталогов

и, наконец, сохраняет в Option.txt.

%-20s %-40s\n предназначен для форматирования столбцовНо это не будет печатать полное имя каталога, как указано в комментариях @ Glenn Jackman, если в имени каталога есть пробелы.

Так,

Другой вариант будет ( источник)

ls -ahlX ~|gawk -F':[0-9]* ' '/:/{print $2}'>~/Desktop/Option1.txt

Этот печатает имена файлов, даже если есть пробелы.

Но разбирать ls всегда плохая идея.

Разбор вывода ls это никогда не хорошая идея Мой подход будет использовать du перечислить использование диска для каждого файла, с --mad-depth возможность только перечислить текущий каталог (потому что du является рекурсивным), а затем установить sort Команда организовать вывод на основе 2-го поля.

 du --all --max-depth 1 --human-readable | sort --key=2

Перенаправление этого в файл тогда просто du --all --max-depth 1 --human-readable | sort --key=2 > outputFileName.txt

Вас также может заинтересовать более подробная информация, чем предоставленная du, Обратитесь к моему другому ответу, который использует find а также du (хотя может потребоваться изменить, чтобы включить | sort часть): команда 'ls', показывающая размер каталога вместо размера блока

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