script Linux para ir em todas as pastas e executar o comando

0

Oi eu tenho várias pastas no meu diretório. Eu gostaria de executar este comando em todos eles:

wc -l * > total

Existe uma maneira de um script fazer isso?

    
por Jackson Hart 11.12.2015 / 19:44

1 resposta

2

Sim:

find /YOUR/ROOT/DIR -type f -exec wc -l '{}' \; > total

Se você precisar de um arquivo total para cada diretório (sub), será necessário fazer o loop desta chamada:

find /YOUR/ROOT/DIR -type d | while read
do
   # Change '/' to '_' in dir name
   NAME=$(echo "$REPLY" | sed -e 's#/#_#g')
   wc -l "$REPLY" > "total.$NAME"
done

Espero que ajude.

    
por 11.12.2015 / 20:06

Tags