Python操作系统和grep的子进程



我试图在python脚本中执行:grep -A5000 -m1 -e 'dog 123 4335' animals.txt。

输入文件:

cat 13123 23424 
deer 2131 213132
bear 2313 21313
dog 123 4335
cat 13123 23424 
deer 2131 213132
bear 2313 21313

输出:

cat 13123 23424 
deer 2131 213132
bear 2313 21313

我在Unix中尝试了这个命令,它工作得很好。但它不会在操作系统上用python执行。系统或子流程。请给我任何一个问题的解决方案。

使用subprocess:

import subprocess
CMD = "grep -A5000 -m1 -e 'dog 123 4335' animals.txt"
p = subprocess.run(CMD, shell=True, stdout=subprocess.PIPE)
print(p.stdout.decode())

输出:

dog 123 4335
cat 13123 23424 
deer 2131 213132
bear 2313 21313

最新更新