특정 문자열이 포함될 때마다 줄 끝 변경

특정 문자열이 포함될 때마다 줄 끝 변경

파일이 있고 특정 문자열이 포함될 때마다 각 줄 끝에 텍스트를 추가하고 싶습니다.

output(),
output(abcdefgh),

~이 되다

output());
output(abcdefgh));

"output( 그래서 기본적으로 삭제를 감지 ,하고 );위 조건을 만족하는 모든 줄의 끝에 추가하고 싶습니다 .

답변1

빔에서:

:g/output(/ s/,$/);/

:g /pattern/일치하는 모든 줄에서 명령을 실행한 pattern다음 s명령은 줄의 끝을 ,로 바꿉니다 );.

답변2

내가 올바르게 이해했다면 당신은 원합니다

otherline(),
... output(),
... output(abcdefgh),
output

로 번역됩니다

otherline(),
... output());
... output(abcdefgh));
output

Perl을 사용하는 것이 좋습니다.

perl -pe 's/output\(.*?\)\K,$/);/' 

관련 정보