$ 7z l ~ / Downloads /Tab
Como fazer com que a lista resultante seja classificada por data, não por nome?
Atualmente, uso um script especial para listar N arquivos mais recentes em um determinado diretório (e copiar o nome do arquivo manualmente na linha de comando), mas quero torná-lo mais fácil e conveniente.
bash
autocomplete
Vi.
fonte
fonte
Respostas:
Eu não acho que
bash
é capaz de fazer isso, então você pode tentarzsh
. Eu não sou um usuário zsh, mas acho que essa configuração deve funcionar:(
reverse
aqui para ver os arquivos mais recentes no final da lista, porque a parte superior pode não estar visível na tela.)fonte
Ocasionalmente, preciso encontrar o arquivo baixado mais recentemente no diretório Downloads, mas talvez não saiba o nome exato do arquivo. Aqui está como eu faço isso.
ls -t
lista os arquivos por hora, 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.A partir daí, você pode fazer o que precisa com bastante facilidade. Por exemplo:
ou
Sua pergunta original pode ser feita assim:
Sei que isso não está aderindo ao método de conclusão da guia, mas pode ser adequado às suas necessidades.
fonte
rl
parals -lhtc "$@" | head -n $N
fazer isso.Vou seguir os seguintes passos para isso
E o script fica assim (pode ser complexo)
fonte
rl
(lista recente). Mas preciso chamá-lo explicitamente e copiar e colar. Eu quero que ele seja mais integrado ao preenchimento de guias.No bash, você pode obter algo próximo usando, por exemplo,
7z l ~/Downloads/
Alt+nOnde
bind
foi mapeado Alt+npara uma função que reescreve aREADLINE_LINE
variável.Para aproximar a conclusão da guia, faço isso com um argumento-parsing-perl-kludge e
fzf
para apresentar um menu.https://github.com/WillForan/fuzzy_arg/blob/master/fuzzy_new_complete.bash
fonte