find -execのインクリメントカウンタ

find -execのインクリメントカウンタ

このような多くのプロセスを実行するスクリプトがあります

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

私はそれをループに変えたいと思っていました。

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

しかし、出力ファイルの名前を動的に作成する方法がわかりません。どんなアイデアがありますか?

ベストアンサー1

バッシュ使用:

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

問題がなければ削除してくださいecho


長いバージョンCentimaneユーザーが提案したとおり:

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

counter++あなたのカウンターは毎回増加します。

おすすめ記事