2012-09-05 47 views
0

所以感謝這個論壇,我現在有這樣的代碼,這需要從程序我有一個輸出,並在文件中保存它:的egrep在python

#!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」 OR「1433.000」我想:

os.system('vap -c freq *.SFTC | egrep 1369.000|1433.000 > 1400listfilt.txt') 

但我得到的錯誤信息:「SH:1433.000:找不到命令 egrep的:寫入錯誤:中斷的管道」

我怎樣才能使檢查兩個值?另外..這是做我想做的最好的方式?

謝謝!

回答

1

我將圍繞在單引號中的參數這樣:

egrep '(1369.000|1433.000)' 

外殼是告訴你,它不能的egrep輸出重定向到一個不存在的程序1433.000

+0

謝謝你的回覆。但它似乎並不那麼喜歡。我收到以下錯誤消息:os.system('vap -c freq * .SFTC | egrep('1369.000 | 1433.000')> 1400listfilt.txt') ^ SyntaxError:invalid syntax – user1551817

+0

嘗試將單引號放在圓括號。 – squiguy

+0

哦對不起!它仍然沒有工作,但是當我使用「而不是」工作,謝謝! – user1551817