fileにコマンドリストがあるとしましょうcmd_file
。
次のコマンドでこれらのコマンドを実行します。
cat cmd_file | parallel -k -I {} "{}"
コマンドの1つが失敗しました。すべてのコマンドはまったく同じCLIツールとは異なる入力を使用します。
コマンドリストをコマンドジェネレータループ(より複雑にする)に置き換えて誤ったコマンドを見つけるには、一度に1つのコマンドを実行する必要があります。
for ...; do
# assemble the vars for the command
echo "<command>"
<command>
done
たとえば、失敗したコマンドを並列に表示したり、stderrで実行順序を表示したりするメカニズムはありますか?
ベストアンサー1
あなたは導くことができますparallel
実行された各コマンドを標準出力または標準エラーとして印刷します。man
ページから:
-v Print the job to be run on stdout (standard output).
Can be reversed with --silent. See also -t.
-t Print the job to be run on stderr (standard error).
たぶん:
for ...; do
# assemble the vars for the command
echo "<command>"
done |
parallel -v -k
または準備ができたらcmd_file
:
parallel -v -k < cmd_file
または同様のものがあなたのニーズに適しているでしょう。