Ответы:
Почему бы не использовать statвместо ls?
stat -c "%y %s %n" *
find . -type f -print0 | xargs -0 stat -c "%y %s %n"
stat, вы можете добавить информацию о ширине в строку формата, например "%y %8s %n", функцию C printf, например , она не документирована, но, кажется, работает (coreutils 8.17, Fedora 18)
lsя могу вывести его с тысячным разделителем символов. Как это работает stat?
ls. Как насчет цветов?
Вы можете получить большой контроль над списком файлов с помощью findутилиты. lsна самом деле не позволяет вам указать столбцы, которые вы хотите.
Например:
$ find . -maxdepth 1 -printf '%CY%Cm%Cd.%CH%CM\t%s\t%f\n'
20111007.0601 4096 .
20111007.0601 2 b
20111001.1322 4096 a
Аргумент к printfдействию подробно описан на странице руководства. Вы можете выбрать другую информацию о времени, какой размер вы хотите (размер файла или используемые дисковые блоки) и т. Д. Вы также можете сделать это безопасным для необычных имен файлов, если требуется дальнейшая обработка.
%C+(вывод «2016-08-29 + 10: 57: 56.9201257840») и %Cc(вывод «Mo 29 Aug 2016 10:57:56 CEST»)
Вы всегда можете использовать другую утилиту, например, awkдля форматирования вывода ls1 :
/bin/ls -ls | awk '{print $7,$8,$9}'
1. Да, как правило, вы не должны анализировать вывод ls, но в этом случае вопрос специально требует его ...
lsпсевдоним (скажем alias ls='ls -i'). Вы действительно должны быть очень осторожны, если хотите разобрать вывод ls.
ls, но это то, чего хотел ОП ...
/bin/lsпозволит избежать проблемы псевдонимов.)
lsкоторым мы оба согласны, не будет удовлетворять требованию пробела. /bin/lsПредложение является хорошим один.
-hчтобы сделать его читаемым человеком. Конкретно я использовал: ls -lah | awk '{print $5,$6,$7,$8}'что дает: 4.0K Jan 24 18:17. Конечно, оригинальное решение ничего не говорит о awk, но в linux мы должны предполагать, что вывод процесса всегда будет входом для другого процесса, верно? ;)
Вы также можете использовать команду «дата». Он очень прост в использовании:
date -r [имя файла]
date -r foo*.txt->date: extra operand "foo2.txt"
где пробел определен как разделитель, а f6 означает поле 6
ls -lt | cut -d" " -f6-
Вы можете передать две команды
ls -l|cut -d" " -f5
lsэто здорово, потому что он имеет очень быструю сортировку по дате и времени, но с форматированием трудно справиться. Я предлагаю использовать токен в стиле -time, например,--time-style='+&%Y%m%d+%H%M%S.%N'где токен - «&», используя его в качестве ссылки, чтобы вы могли дополнительно проанализировать вывод,sedчтобы вы могли также вернуться назад, как раз перед тем, как токен станет размером! Если кто-то захочет опубликовать это как полный ответ, не стесняйтесь, я сейчас слишком сплю :)