faça um loop pelas pastas e remova o arquivo

0

Eu tenho o código abaixo. Se eu quiser percorrer PKA1 através da PKA24, como faço isso, sem precisar digitar tudo manualmente

 cd PKA1/1keV/
    rm cascade.dump
 cd ../../
    
por Jackson Hart 20.07.2017 / 00:20

3 respostas

1

Eu consideraria usar algo assim

rm PKA{1..24}/1keV/cascade.dump
    
por 20.07.2017 / 00:28
0

A primeira coisa é que você não precisa estar em um diretório para remover o arquivo, então você pode simplesmente dizer:

rm PKA1/1keV/cascade.dump
rm PKA2/1keV/cascade.dump  

No entanto, um loop pode ser usado:

for i in $(seq 24); do
   rm PKA$i/1keV/cascade.dump
done  

(o comando seq gera o número de 1 a 24 automaticamente)

    
por 20.07.2017 / 00:26
0

'encontrar' é a sua resposta:

Primeiro use-o com 'echo' para verificar que tudo funcionará corretamente. Eu suponho que você não se importa com o mesmo nome de arquivo em mais diretórios do PKA.

find PKA* -name "cascade.dump" -exec rm {} \;

Caso contrário, você terá que corrigir o primeiro padrão.

    
por 20.07.2017 / 00:45

Tags