2013-10-28 2 views
0

У меня есть I набора файлов питон, которые используют следующую попытку, за исключением форматированияКак я могу использовать Grep и установить, чтобы заменить ошибочный питона в нескольких файлах

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:/' 

Но это дает мне ошибку.

ответ

0

Чтобы совместить ноль или более символов с регулярным выражением, используйте .*, а не *.. Кроме того, вам нужно пространство между -i и командой sed.

+0

Это заставило команду запускаться без ошибок, но она не заменила текст в файлах – user1876508

1

Вы можете попробовать это sed:

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

Это займет резервную копию исходного файла с расширением .bak.

Смежные вопросы