在Python中使用grep-ing

时间:2017-03-08 11:58:31

标签: python linux bash shell grep

我想将Bash脚本转换为Python进行培训。 Bash脚本通过ssh在远程主机上查询其df,并在返回的行中搜索特定字段,如下所示:

ssh $_host df 2>/dev/null | grep -i $_filesystem | grep :

在Python中,我将subprocess.callshlex.split结合使用以获取“df”输出:

_cmd = shlex.split("ssh %s df 2>/dev/null" % _host)
_test = subprocess.check_output(_cmd)

这里,_test返回类型字符串,如果我想搜索它换行,它会将每个字符打印为一个新行。管道的subprocess.Popen也不起作用。我想要做的就是打印出我的搜索字符串所在的行以进一步格式化。

我已经看过几次尝试接近解决方案,但是大多数尝试都使用定义的回车迭代文件,而不是子进程调用返回的字符串。

1 个答案:

答案 0 :(得分:0)

除非我误解了你的叙述,否则问题在于你在字符串utils.setPowerMode(Intents.POWER_MODE_HIGH); 上进行迭代(在你不会显示的代码中)。这一次迭代一个字符。所以你只需要写

{{1}}

将{{1}}转换为行列表,当您迭代它时,您将获得行而不是单个字符。