python子进程使用gawk正则表达式don'

2024-10-04 05:20:33 发布

您现在位置:Python中文网/ 问答频道 /正文

bash命令是:

 ps aux |grep tomcat  |grep -Ev grep |grep -o 'Dcatalina.base=.*tomcat' |gawk -F'[ =]+' '{print $2}'"

这在bash上很好地工作,其输出是:

^{pr2}$

但是,我想在python中使用这个cmd,所以我使用子进程

out=subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE,stderr=subprocess.STDOUT)
output,outerr = out.communicate()

但是输出是'',我想知道如何处理它


Tags: 命令cmdbashbaseoutgreppssubprocess
1条回答
网友
1楼 · 发布于 2024-10-04 05:20:33

使用bash来运行它,您的命令应该是:

cmd = '''bash -i -c "ps aux |grep tomcat  |grep -Ev grep |grep -o 'Dcatalina.base=.*tomcat' |gawk -F'[ =]+' '{print $2}'"'''

或者您可以使用subprocess.check_output

^{pr2}$

相关问题 更多 >