範囲内のすべての数値に対してコマンドを実行する方法

範囲内のすべての数値に対してコマンドを実行する方法

次のようなことをしたい

specmd file5.awe
specmd file6.awe
specmd file7.awe
specmd file8.awe
specmd file9.awe
specmd file10.awe
specmd file11.awe
specmd file12.awe

これを行うための良い方法はありますか?私が考える最善の方法は

ruby -e "10.upto(15){|i| puts i}" | xargs -I {} specmd file{}.awe

これはRubyに依存し、この場合Rubyが不要なように感じるため、確かに良いアプローチではありません。

注:より多くのファイルがあります(例:file4.awefile13.awe)。いいえ必要なので、どのワイルドカード(おそらく?)も私が望むように動作しません。

ベストアンサー1

Bashでは、組み込みコマンドを使用して範囲を繰り返すループを作成できます。

for i in {5..12}
do 
    specmd file${i}.awe
done

他の同様の状況のた​​めのより多くのオプションがあります。ここにリンクを残しておきます。

http://www.cyberciti.biz/faq/bash-for-loop/

おすすめ記事