Como ordenar arquivos por data na lista de conclusão de tabulação

8
$ 7z l ~/Downloads/Tab

Como fazer com que a lista resultante seja classificada por data, não por nome?

Eu atualmente uso um script especial para listar N arquivos mais recentes em um determinado diretório (e copie o nome do arquivo manualmente na linha de comando), mas quero torná-lo simples e conveniente.

    
por Vi. 17.09.2013 / 00:28

3 respostas

2

Eu não acho que bash seja capaz de fazer isso, então você pode experimentar zsh . Eu não sou um usuário zsh, mas acho que essa configuração deve funcionar:

autoload -U compinit
compinit
zstyle ':completion:*' file-sort modification reverse

( reverse here para ver os arquivos mais recentes no final da lista, porque a parte superior pode não estar visível na tela).

    
por 26.05.2014 / 03:06
0

Ocasionalmente, preciso encontrar o arquivo baixado mais recentemente no meu diretório Downloads, mas talvez não saiba o nome exato do arquivo. Aqui está como eu faço isso.

ls -rt ~/Downloads

ls -t lista os arquivos por hora e não por nome, com os mais recentes sendo exibidos primeiro. Como meu diretório Downloads contém tantos arquivos, não quero rolar para o topo da lista para ver os mais recentes. ls -rt inverte a ordem da lista, exibindo o arquivo mais recente na parte inferior da lista.

De lá, você pode fazer o que precisa com bastante facilidade. Por exemplo:

unzip $(ls -rt ~/Downloads | tail -n1)

ou

mv $(ls -rt ~/Downloads | tail -n1) *some_other_location*

Sua pergunta original poderia ser feita assim:

7z l $(ls -rt ~/Downloads | tail -n1)

Sei que isso não está aderindo ao método de conclusão da guia, mas pode ser adequado às suas necessidades.

    
por 19.09.2013 / 19:27
0

Eu farei os seguintes passos para isso

  1. First I will find the files and their timestamps
  2. Sort them reversely
  3. Take top N
  4. Get the filenames
  5. Zip it or do whatever u like

E o script é assim (pode ser complexo)

find ~/Downloads/ -type f -printf '%TY-%Tm-%Td %TT %p\n' | sort -r | head -N | cut -d' ' -f3 | xargs 7z l
    
por 03.03.2014 / 07:52