Por que não usar stat
em vez de ls
?
stat -c "%y %s %n" *
Como posso usar ls
no linux para obter uma lista de nomes de arquivos apenas com data e tamanho. Não preciso ver outras informações, como proprietário ou permissão. Isso é possível?
Você pode obter muito controle sobre como listar arquivos com o utilitário find
. ls
realmente não permite que você especifique as colunas desejadas.
Por exemplo:
$ 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
O argumento para a ação printf
é detalhado na manpage. Você pode escolher informações de tempo diferentes, o tamanho desejado (tamanho de arquivo ou blocos de disco usados), etc. Você também pode tornar isso seguro para nomes de arquivos incomuns, caso seja necessário processamento adicional.
Você sempre pode usar outro utilitário como awk
para formatar a saída de ls
1 :
/bin/ls -ls | awk '{print $7,$8,$9}'
1.Sim, geralmente, você não deve analisar a saída de ls mas, nesse caso, a pergunta especificamente chama por isso ...
Você também pode usar o comando 'date'. É muito fácil de usar:
date -r [file name]
onde espaço é definido como o separador e f6 significa campo 6
ls -lt | cut -d" " -f6-
Se você deseja usar ls, mas preservar o tamanho adequado, você pode usar:
ls -Ss1pq --block-size=1
Você pode canalizar dois comandos
ls -l|cut -d" " -f5
A resposta mais simples é usar
ls -1
observe que é one
não é l. Isso funciona no Ubuntu, mostrando apenas o nome dos tempos.
ls -s1 retorna o tamanho e o nome do arquivo apenas no AIX, não tendo certeza sobre o Linux
Tags command-line ls files linux