1

次のような行を含むpids.txtというファイルがあります。

123
456
789

次に、各行で何かを実行するPythonスクリプトを作成しました。Pythonスクリプトは次のように実行されます。

my_script.py 123 456 789 -a "something here" -b "something else"

Unixコマンドを実行したい部分で立ち往生し、pids.txtの出力をmy_script.pyにパイプします。私はあなたが猫と何かをしなければならないと思いますか?

(これは機能しません)

cat pids.txt | ./myscript.py -a "something here" -b "something else"

何か案が?

4

1 に答える 1

5

構成を使用できます$(command)(バッククォートと同等: `command`):

./myscript.py $(cat pids.txt) -a "something here" -b "something else"

コンストラクト$(command)コマンドを実行し、コンストラクトが配置されているコマンドの標準出力を置き換えます。

Bashは、次の$(< file)構成も提供します。

./myscript.py $(< pids.txt) -a "something here" -b "something else"

これにより、ファイルが読み取られ、pids.txtその内容が構成に置き換え$(< ...)られます。(これをありがとうglenn jackmanに行きます

于 2011-11-16T23:55:36.253 に答える