Как я могу использовать ls
в Linux, чтобы получить список имен файлов только по дате и размеру. Мне не нужно видеть другую информацию, такую как владелец или разрешение. Это возможно?
linux
command-line
files
ls
пинка
источник
источник
ls
это здорово, потому что он имеет очень быструю сортировку по дате и времени, но с форматированием трудно справиться. Я предлагаю использовать токен в стиле -time, например,--time-style='+&%Y%m%d+%H%M%S.%N'
где токен - «&», используя его в качестве ссылки, чтобы вы могли дополнительно проанализировать вывод,sed
чтобы вы могли также вернуться назад, как раз перед тем, как токен станет размером! Если кто-то захочет опубликовать это как полный ответ, не стесняйтесь, я сейчас слишком сплю :)Ответы:
Почему бы не использовать
stat
вместоls
?источник
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
на самом деле не позволяет вам указать столбцы, которые вы хотите.Например:
Аргумент к
printf
действию подробно описан на странице руководства. Вы можете выбрать другую информацию о времени, какой размер вы хотите (размер файла или используемые дисковые блоки) и т. Д. Вы также можете сделать это безопасным для необычных имен файлов, если требуется дальнейшая обработка.источник
%C+
(вывод «2016-08-29 + 10: 57: 56.9201257840») и%Cc
(вывод «Mo 29 Aug 2016 10:57:56 CEST»)Вы всегда можете использовать другую утилиту, например,
awk
для форматирования выводаls
1 :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 foo*.txt
->date: extra operand "foo2.txt"
Если вы хотите использовать ls, но сохранить правильный размер, вы можете использовать:
источник
где пробел определен как разделитель, а f6 означает поле 6
источник
Вы можете передать две команды
источник
ls -s1 возвращает размер и имя файла только в AIX, не уверен в Linux
источник