Xargs
向 slurm 送出工作列表
我有大量腳本可以在使用 slurm 的計算集群上作為單獨的作業執行。我想根據內容選擇其中一些送出。使用 grep 很容易辨識我想要的作業的文件名,但我正在努力通過管道傳輸並送出它們。
我以為我可以做這樣的事情:
grep -l 'regex' script_folder/* | xargs sbatch
但是,當我希望每個腳本都是自己單獨的作業時,這似乎將所有腳本作為一項作業送出。
grep -l 'pattern' script_folder/* | xargs -n 1 sbatch
xargs
預設情況下,在執行給定實用程序及其已讀取的所有內容之前,將在一個命令行上讀取盡可能多的內容。您可以將
-n 1
傳遞給實用程序的項目數限制為每次呼叫一個項目。