ジョブのリストを slurm に送信しています

ジョブのリストを slurm に送信しています

slurm を使用するコンピューティング クラスター上で個別のジョブとして実行できるスクリプトが多数あります。内容に基づいて、そのうちのいくつかを選択して送信したいと考えています。grep を使用して必要なジョブのファイル名を識別するのは簡単ですが、それらをパイプして送信するのは困難です。

私は次のようなことができると考えました:

grep -l 'regex' script_folder/* | xargs sbatch

ただし、各スクリプトを個別のジョブにしたいのに、すべてのスクリプトを 1 つのジョブとして送信しているように見えます。

答え1

grep -l 'pattern' script_folder/* | xargs -n 1 sbatch

xargsデフォルトでは、読み取ったすべての内容を使用して指定されたユーティリティを実行する前に、1 つのコマンド ラインに収まるだけ読み取ります。

-n 1ユーティリティに渡す項目の数を、呼び出しごとに 1 つに制限します。

関連情報