구분 기호 ""wikilink" 앞의 단어에 .md를 추가하는 방법

구분 기호 ""wikilink" 앞의 단어에 .md를 추가하는 방법

시간을 내어 이 기사를 읽어주셔서 감사합니다.

제목에서 언급했듯이 "wikilink" 구분 기호 앞의 모든 단어에 .md를 추가하려고 합니다. 문제는 파일에 따라 단어가 달라지고, 파일이 수백개나 된다는 점이다.

예를 들어:

On the (example-info "wikilink") and the
(second-example "wikilink") platforms.

다음과 같아야 합니다:

On the (example-info.md "wikilink") and the
(second-example.md "wikilink") platforms.

파일에 따라 단어가 바뀌기 때문에 다음과 같은 sed 명령을 시도해 보았습니다. 불행히도 이로 인해 단어와 .md 사이에 공백이 남습니다.

gsed -r 's/(^.*)"wikilink"/\1.md "wikilink"/g' filename

결과:

On the (example-info .md "wikilink") and the
(second-example .md "wikilink") platforms.

이 작업은 반드시 sed를 사용하여 수행할 필요는 없으며 사용하기 가장 좋은 도구인 것 같습니다.

감사해요

답변1

$ sed 's/(\([^ ]*\) "wikilink")/(\1.md "wikilink")/g' file
On the (example-info.md "wikilink") and the
(second-example.md "wikilink") platforms.

이는 단순히 여는 괄호 뒤의 단어와 그 뒤의 공백, 그리고 문자열과 일치합니다 "wikilink"). 해당 단어는 캡처링 그룹( \(...\))에 캡처되며 대체 단어는 .md해당 단어 뒤에 삽입됩니다.

관련 정보