0

私はフォーマットを除いて次の試行を使用するpythonファイルのコレクションを持っています

try:
    # some code....
except Exception, e:
    # some exception code....

これは簡単な修正で、次のようになります。

try:
    # some code....
except SomeException as e:
    # some exception code....

コマンドを使用して、これらすべてのファイルのテキストを変更しようとしました

grep -Erl "(*.)(, e:)" | xargs sed -i's/\(*.\)\(, e:\)/\1 as e:/'

しかし、それは私にエラーを与えます。

4

2 に答える 2

1

これを試すことができますsed

sed -i.bak '/except/{ s/\(except\) \([^,]\+\)\(, e:\)/\1 \2 as e:/}' your_python.py

これにより、拡張子付きの元のファイルのバックアップが作成されます.bak

于 2013-10-28T05:36:53.400 に答える
0

0 個以上の文字を正規表現と一致させるには.*、 ではなくを使用します*.-iまた、コマンド to と の間にはスペースが必要ですsed

于 2013-10-28T04:35:31.407 に答える