Incrementar contador em find -exec

3

Eu tenho um script que executa vários processos como este

./myproc1      --out=1.xml
./myotherproc  --out=2.xml
./mythirdproc  --out=3.xml
./myfourthproc --out=4.xml
# ... some more files

Eu quero substituí-lo por um loop, e até agora cheguei a este

find . -name 'my*' -exec ./'{}' \;

Mas eu não sei como construir o nome do arquivo de saída dinamicamente. Alguma idéia?

    
por Sam 22.11.2016 / 19:06

1 resposta

2

Com bash:

c=1; for i in ./my*; do echo "$i" --out=$[c++].xml; done

Se tudo estiver correto, remova echo .

Versão longa proposta pelo User Centimane :

counter=1
for i in ./my*; do
  echo "$i" --out=$[counter++].xml
done

O counter++ aumentará seu contador a cada vez.

    
por 22.11.2016 / 19:22