2013-10-28 3 views
0

나는이 쉬운 수정 프로그램입니다어떻게 GREP을 사용하여 여러 파일

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

서식을 제외하고 다음과 같은 시도를 사용하여 파이썬 파일의 I 컬렉션이에 버그가 파이썬을 대체하는 설정하고

과 같아야 할 수 있습니다
try: 
    # some code.... 
except SomeException as e: 
    # some exception code.... 

나는이 모든 파일에서 텍스트를 변경하는 명령을 사용하여 시도했다

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

그러나 그것은 나에게 오류를 준다.

답변

0

0 개 이상의 문자를 정규식과 일치 시키려면 *.이 아니라 .*을 사용하십시오. 또한 -i 사이의 공백과 sed의 명령이 필요합니다.

+0

이렇게하면 명령을 오류없이 실행할 수 있지만 파일의 텍스트가 바뀌지는 않습니다 – user1876508

1

sed을 시도 할 수 있습니다 :

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

이것은 .bak 확장자를 가진 원본 파일의 백업을 수행합니다.

관련 문제