Как я могу создать новый файл под названием Option1.txt на моем рабочем столе. Этот файл должен содержать содержание моего 'домашнего' каталога. И то, как был бы я делать свой вывод:
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 -alXh > Option1.txt
man 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' показ размера каталога вместо размера блока