Looping através de diretórios usando um comando csh

2

Estou tentando obter uma lista de pastas no meu diretório 'KEAX' e depois mergulhar em cada uma delas.

Depois de inserir cada pasta, quero executar o comando:

foreach f(*.tar)
tar -xvf$f
end

Depois de executar este comando, quero voltar atrás e depois ir para a próxima pasta que está em 'KEAX' e executar o mesmo comando acima. No entanto, estou recebendo um erro ao executar o comando acima

    
por M.Simpson 27.09.2016 / 18:27

1 resposta

1

Este comando deve funcionar. Ele procura todos os arquivos *.tar no diretório atual de forma recursiva e cd s em sua localização em uma subchave Bash e descompacta-o para cada resultado:

find . -iname '*.tar' -exec bash -c 'cd "$(dirname "{}")" ; tar -xvf "$(basename "{}")"' \;
    
por Byte Commander 27.09.2016 / 19:50