0

所以感谢这个论坛,我目前有这段代码,它从我拥有的程序中获取输出并将其保存在一个文件中:

#!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: write error: Broken pipe”

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

谢谢!

4

1 回答 1

1

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

egrep '(1369.000|1433.000)'

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

于 2012-09-05T02:11:29.717 回答