コマンドを繰り返して複数のジョブを送信

コマンドを繰り返して複数のジョブを送信

パソコンに課題を提出しています。

次のようになります。

    mpirun -np 12 example_S57 -o S57.results -r S57.final
    mpirun -np 12 example_S58 -o S58.results -r S58.final
 ...
 ...
 ...
    mpirun -np 12 example_S74 -o S74.results -r S74.final

スクリプトでこのコマンドを繰り返し、各コマンドを入力せずにS57からS74まで実行するにはどうすればよいですか?

答え1

for example in S{57..74}; do
    mpirun -np 12 "example_$example" -o "$example.results" -r "$example.final"
done

これは中括弧拡張を使用して繰り返す値をbash生成します。Snn各反復の値は$exampleこれらの値の1つになり、コマンドを呼び出すときに使用できますmpirun

答え2

GNU Parallelを使用すると、次のようになります。

parallel mpirun -np 12 example_{} -o {}.results -r {}.final ::: S{57..74}

関連情報