Grep python中的白鹭

Grep python中的白鹭,grep,Grep,多亏了这个论坛,我现在有了这段代码,它从我拥有的一个程序中获取一个输出并保存在一个文件中: #!usr/bin/python import os os.chdir('./P574/J0998-1034') os.system('vap -c freq *.SFTC > 1400list.txt') 我想添加一个过滤器(所以只取包含“1369.000”的行),所以我将最后一行修改为: os.system('vap -c freq *.SFTC | egrep 1369.000 >

多亏了这个论坛,我现在有了这段代码,它从我拥有的一个程序中获取一个输出并保存在一个文件中:

#!usr/bin/python
import os

os.chdir('./P574/J0998-1034')
os.system('vap -c freq *.SFTC > 1400list.txt')
我想添加一个过滤器(所以只取包含“1369.000”的行),所以我将最后一行修改为:

os.system('vap -c freq *.SFTC | egrep 1369.000 > 1400listfilt.txt')
但我真的希望它包含“1369.000”或“1433.000”的行

os.system('vap -c freq *.SFTC | egrep 1369.000|1433.000 > 1400listfilt.txt' )
但我收到了错误消息:“sh:1433.000:command not found egrep:写入错误:管道断开“

我怎样才能让它检查两个值呢?还有..这是我想要做的最好的方法吗


谢谢!

我将用单引号将这些参数括起来,如下所示:

egrep '(1369.000|1433.000)'

shell告诉您它无法将
egrep
的输出重定向到不存在的程序
1433.000

感谢您的回复。但它似乎不喜欢这样。我收到了以下错误消息:os.system('vap-c freq*.SFTC | egrep('1369.000 | 1433.000')>1400listfilt.txt'))^SyntaxError:无效语法尝试将单引号括在括号内。哦,抱歉!它仍然不起作用,但当我使用“而不是”时,它起了作用。谢谢!这是因为您对整个字符串使用了单引号,但至少它现在起作用了。很高兴提供帮助。