Abra todos os arquivos de log no diretório e sub-diretório em um comando

1

Eu tenho o diretório ~/temp com arquivos de log. Esse diretório contém outro diretório ~/temp/aaa que também contém vários logs. Eu gostaria de abrir todos os arquivos de log de uma só vez. Eu faço

vim -p *

Ele abre arquivos no diretório atual e está tudo bem, mas também abre o diretório aaa com a lista de arquivos no conteúdo que eu gostaria de omiti-lo. Além disso, nenhum arquivo é aberto no diretório aaa . Eu poderia adicionar /aaa/* no comando, mas ele não é bom, pois o nome do diretório pode mudar e eu gostaria de ter um comando mais universal.

Como enumerar todos os arquivos no diretório e sub-diretório para vim ?

    
por vico 31.01.2018 / 14:52

1 resposta

0

Você pode usar o seguinte comando que abrirá vim com a guia para cada arquivo no diretório atual:

vim -p 'find -L . -type f -print'

Ou o seguinte comando que abrirá todos os arquivos no diretório atual, e todos os arquivos em todos os primeiro-níveis-de-subdiretórios do diretório atual

vim -p ./* ./*/*

O comando acima é baseado na execução de vim -p juntamente com o exemplo de uma resposta semelhante, que pode ser encontrada aqui

Alguns exemplos (modificados) de a resposta estendida abrirá o vim para cada arquivo sob o diretório atual, e assim que vim for fechado, abrirá vim novamente para o próximo arquivo, etc:

find . -xtype f -exec vim {} \;

Ou

find -L . -type f -exec vim {} \;
    
por Yaron 31.01.2018 / 14:57