2014-09-24 2 views
1

을 변경하여 주어진 C 함수에 대한 모든 호출을 으로 바꾸려면 폴더의 모든 파일에 영향을주는 bash 스크립트를 작성하고 있습니다. 여기 현재 통화 내가 얻기 위해 원하는 모습, 그리고 무엇 : 나는 다음 찾기/SED 명령을 사용C 함수 호출의 전체 인수 부분을 바꾸는 방법은 무엇입니까?

myfunc(foo) ----> myfunc(foo, foo+1) 

을하며 작업을 수행합니다

find . -name "*" -print | xargs sed -i 's/myfunc\([^)]*)\)/myfunc((\1),(\1)+1)/g' 

을하지만 문제는 때 발생

sqrt(myfunc((foo+foo)*bar)); 

뭐 : 나는 다음과 같은 명령처럼 괄호를을 포함 지침/인수 처리해야 첫 번째 닫는 괄호 (예 : foo 후 하나)이되지 않습니다 myfunc 인수의 끝으로 해석됩니다 ... 저는 정규 표현식을 얻을 수있는 방법

(또는 다른 명령) 캡처 및 교체 (foo+foo)*bar,의 즉, 정확히 내용 올바른 수준의 괄호, 괄호 수준의 수는 어떻습니까?

+1

http://stackoverflow.com/questions/133601/can-regular-expressions-be-used-to-match-nested-patterns –

답변

관련 문제