0
구조체를 초기화 할 입력란에 몇 줄이 있습니다. 매번 입력 파일에 다음 줄이 표시됩니다.sed를 사용한 문자열 변환
something1 = (struct something2) {something3, something4};
내가로 변환해야합니다
init_something2 (& something1, something3, something4);
다음 함수를 사용했는데 작동합니다.
sed -e 's/\([a-zA-Z0-9]*\)\s*=\s*(\s*struct\s\([a-zA-Z0-9]*\)\s*)\s*{\s*\([a-zA-Z0-9]*\)\s*,\s*\([a-zA-Z0-9]*\)\s*}\s*;/init_\2(\&\1, \3, \4);/g'
제 질문은 어떻게 수정해야합니까? 많은 입력에 적용됩니다. 원하는 개수의 입력을 수행하도록 수정할 수 있습니까? 예를 들어 마찬가지로 :
something = (struct something2) {something3, something4, something5, something6..};
init_something2(&something1, something3, something4, something5, something6..);
이 덕분에 많이 (괄호 대 paranthesis에주의)가되어야!