このtxtスクリプトファイルに対して "cat"コマンドはどのように機能しますか?

このtxtスクリプトファイルに対して "cat"コマンドはどのように機能しますか?

txtファイルがあり、file.txt各行がPythonスクリプトであるとします。例えば python a1.py python a2.py python a3.py

次のコマンドは正確に何をしていますか?

cat file.txt | xargs -n 1 -P $NUM_CPUS bash -c

答え1

説明する:

cat file.txt | xargs -n 1 -P $NUM_CPUS bash -c
  • cat file.txtfile.txt- パイプラインの次のプログラムに渡されたファイルの内容をリンクします。

  • xargs -n 1- STDINで一度に1つの引数を受け入れます(前のコマンド出力)。

  • -P $NUM_CPUS$NUM_CPUS- 一度に複数のプロセスを実行する(プロセスごとに1つの入力ラインを呼び出す)

  • bash -c- 現在のパラメータで実行されるコマンド

答え2

整数が含まれていると仮定すると、$NUM_CPUSこのコマンドは最大数の並列非対話型bashシェルを実行します(これはその機能-Pです)。各シェルは入力ファイルで1行を実行します-n 1

catこのコマンドは必要ありません。

xargs -n 1 -P "$NUM_CPUS" bash -c <file.txt

関連情報