Вот, вероятно, лучшее описание эха по сравнению с printf
http://www.in-ulm.de/~mascheck/various/echo+printf/
На очень высоком уровне.. printf похож на эхо, но больше форматирования может быть сделано.
Один метод должен был бы проанализировать вывод ls
.
$ ls -lah | awk '{print $9, $5}' | tail -5
.yEd 4.0K
.youtube-dl 4.0K
.zenmap 4.0K
.zshrc 32
zzzz 3.3K
Между прочим, можно очистить выходное использование column
.
$ ls -lah | awk '{print $9, $5}' | column -t | tail -5
z 4
.youtube-dl 4.0K
.zenmap 4.0K
.zshrc 32
zzzz 3.3K
Если Вы удалили бы другие столбцы, при хранении других можно использовать это awk
метод для потери сознания нежелательных столбцов.
$ ls -lah | awk '{$1=$2=$3=$4=$6=$7=$8=""}1' | tail -5
4.0K .youtube-dl
4 z -> zzzz
4.0K .zenmap
32 .zshrc
3.3K zzzz
OP придумал эту цепочку команд, с помощью соединения примеров сверху.
$ ls -lah | awk '{print $5, $9$10$11}' | column -t | column
...
4.0K .gphoto 773 .rdebug_hist 4.0K .youtube-dl
1.5K .grip 4.0K .rdesktop 4 z->zzzz
Из страницы справочника:
-s, --size print the allocated size of each file, in blocks
Таким образом для человекочитаемых размеров:
ls -sh
Один быстрый и грязный путь состоит в том, чтобы объединить вывод ls -lah
с несколькими другими командами:
ls -lah | tr -s ' ' | cut -d' ' -f5,9-
tr -s
управляйте заменяет несколько пробелов одиночными пробелами, и cut -d' ' -f5,9-
столбцы 5 и 9 печати (и вне). 9-
требуется, чтобы составлять дополнительные разделенные пробелом столбцы, произведенные символьными ссылками.
ls -lah | tr -s ' ' | cut -d' ' -f5,9- | column -t | column
– rubo77
21.11.2013, 04:09
Самое близкое можно добраться с ls
только должен подавить пользователя и столбцы группы с ls -log
. Если Вы хотите пойти далее, можно проанализировать вывод. Остерегайтесь этого, второй столбец (число каналов) имеет переменную ширину. Следующий отрывок оболочки заботится для сохранения выравнивания столбца, справляется с произвольными именами файлов (кроме новых строк, если они передаются буквально), и отображает вывод в цвете (удалите ту часть, если Вы не выполняете GNU coreutils).
if [ -t 1 ]; then color=yes; else color=no; fi
ls -h -log --color="$color" | sed 's/^[^ ][^ ]* *[^ ][^ ]* \( *[^ ][^ ]*\) ............/\1/'
column
путь состоит в том, чтобы пойти.
– Gilles 'SO- stop being evil'
21.11.2013, 03:29
ls -halog --color=no | sed 's/^[^ ][^ ]* *[^ ][^ ]* \( *[^ ][^ ]*\) ............/\1/'|column
– rubo77
21.11.2013, 04:13
ls -lah | awk '{print $5, $9$10$11}'|column
Я получаю то, что я хотел – rubo77 21.11.2013, 02:59column
– rubo77 21.11.2013, 03:01ls -lahQ
заключить имена файлов в кавычки вместо этого – rubo77 21.11.2013, 03:11