【发布时间】:2016-05-13 09:51:25
【问题描述】:
我正在尝试使用 grep 并将其通过管道传输到 uniq 以获得独特的结果...(在此处获取 ip 地址)
process = subprocess.Popen(['grep','-sRIEho', '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}', '/tmp/test'])
p2 = subprocess.Popen(['uniq'],stdin=process.stdout)
stdout,stderr = p2.communicate()
问题是它挂起并且没有向我显示独特的结果...... 这是“/tmp/test”文件:
127.0.0.1
127.0.0.1
127.0.0.1
1.9.12.12
192.168.1.2
192.168.1.2
192.168.1.3
192.168.1.4
结果很好......它是一样的 知道这里发生了什么吗? 顺便说一句,我不能在这里使用 Shell=True(用户提供的文件名)
【问题讨论】:
标签: python linux grep subprocess