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:无效语法尝试将单引号括在括号内。哦,抱歉!它仍然不起作用,但当我使用“而不是”时,它起了作用。谢谢!这是因为您对整个字符串使用了单引号,但至少它现在起作用了。很高兴提供帮助。