Python结构,为什么grep使用[]失败

时间:2017-05-11 00:21:59

标签: python grep fabric

我想知道为什么我在使用[]执行grep时遇到致命错误,在这里寻找逻辑。

工作:

C:\> \path\to\php.exe \path\to\your_script_name.php < example_input_content.txt 

不工作:

    In [37]: run("""ps aux | grep "grunt" """)
    [worker2] run: ps aux | grep "grunt" 
    [worker2] out: root     21414  0.0  0.0  16476  5632 pts/0    Ss+  03:10   0:00 /bin/bash -l -c ps aux | grep "grunt" 
    [worker2] out: root     21475  0.0  0.0  11752   884 pts/0    S+   03:10   0:00 grep grunt
    [worker2] out: 

    Out[37]: 'root     21414  0.0  0.0  16476  5632 pts/0    Ss+  03:10   0:00 /bin/bash -l -c ps aux | grep "grunt" \r\nroot     21475  0.0  0.0  11752   884 pts/0    S+   03:10   0:00 grep grunt'

知道为什么第二节不起作用?

1 个答案:

答案 0 :(得分:1)

为了避免grep返回的退出1,请将其放置为:

grep "[g]runt" | tee

这是因为grep在使用方括号时没有找到任何字面意思(当grunt确实运行时,它应该工作,尝试它)