我想在python脚本中嵌入一个命令并捕获输出。在这种情况下,我尝试使用"find"
在不确定数量的子目录中查找不确定数量的文件,并grep每个匹配文件中的字符串,如:
grep "rabbit" `find . -name "*.txt"`
我正在运行Python 2.6.6(是的,我也很抱歉,但现在不能为整个组织做好准备)。
我已经使用subprocess
,shlex
等尝试了一些已经在这里建议的内容,但是我还没有找到一种语言可以吞下这个,或最终吸吮"找到..." as the search string for
grep`等。建议赞赏。
肯
答案 0 :(得分:2)
import subprocess
find_p = subprocess.Popen(["find", ".", "-name", "*.txt"], stdout=subprocess.PIPE)
grep_p = subprocess.Popen(["xargs", "grep", "rabbit"], stdin=find_p.stdout)
grep_p.wait()