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文件并将其内容替换为$(< ...)构造。(感谢这个去格伦杰克曼

于 2011-11-16T23:55:36.253 回答