sed를 사용하여 함수에 (true || ... )를 추가합니다.

sed를 사용하여 함수에 (true || ... )를 추가합니다.

나는 곧 true ||모든 함수 호출을 앞에 추가하여 거대한 라이브러리를 패치하고 싶습니다.

입력 예:

if function_a(some_parameters) && function_b

될 것입니다

if (true || function_a(some_parameters)) && function_b

문제는 앞에 추가하는 것만으로도 true || 전체 명령문이 비활성화된다는 것입니다. 따라서 함수 호출 주위에 괄호를 추가해야 합니다.

매개 변수는 매번 다릅니다.

GNU sed가 이것을 할 수 있나요?

답변1

댓글에서 피드백을 받은 후 결국 사용하게 되었습니다.

sed 's/function_a([^()]*)/true/'

이 명령은 각 인스턴스를 function_a (some_optional_parameters)true로 바꿉니다.

매개변수에 중첩된 함수가 없기 때문에 작동합니다. function_a.중첩된 기능이 있는 모든 프로그래밍 언어/프로그램에는 작동하지 않습니다.

관련 정보