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:コマンドが見つかりませんegrep:書き込みエラー:パイプが壊れています」

2つの値をチェックするにはどうすればよいですか?また..これは私がやろうとしていることをするための最良の方法ですか?

ありがとうございました!

4

1 に答える 1

1

引数は一重引用符で囲みます。

egrep '(1369.000|1433.000)'

シェルは、の出力を存在しないegrepプログラムにリダイレクトできなかったことを通知しています。1433.000

于 2012-09-05T02:11:29.717 に答える