아래와 같이 이미지 목록이 포함된 Markdown 파일이 있습니다.
![Some Text](static/images/image.png)
를 사용하여 sed
다음 형식으로 변환하고 싶지만 올바른 패턴을 알 수 없습니다.
![](static/images/image.png){.my-class}
[고쳐 쓰다]
자세한 배경 정보. 내 Markdown 파일은 다음과 같습니다.
안녕하세요
![Some Text](static/images/image.png)
세계
일괄 변환해야 합니다.
안녕하세요
![](static/images/image.png){.my-class}
세계
Stackoverflow의 다른 답변에서 패턴을 \[[^]]\]
대괄호와 일치시키는 데 사용할 수 있다는 것을 배웠습니다. 이것을 사용하면 다음과 같이 변환할 수 있습니다.
sed 's,^\!\[[^]]\+\]\(.*\)$,[]\1,g' file.md
--> 효과적이다! 주다[](images/sl/2012-06-18.png)
하지만 {.my-class}
끝에 추가하면 상황이 엉망이 될 것입니다.
sed 's,^\!\[[^]]\+\]\(.*\)$,[]\1\{.my-class\},g' file.md
--> 작동하지 않습니다! 주다{.my-class}(static/images/image.png)
{
그렇다면 본질적으로 교체 모드에서는 어떻게 사용합니까 ?
답변1
다음 명령을 시도해 볼 수 있습니다 sed
.
sed 's/\[[^]]\+\]/[]/;s/$/{.myclass}/' <<< '![Some Text](static/images/image.png)'