![Sed 모드는 Markdown 이미지 스타일을 변환합니다.](https://linux55.com/image/11847/Sed%20%EB%AA%A8%EB%93%9C%EB%8A%94%20Markdown%20%EC%9D%B4%EB%AF%B8%EC%A7%80%20%EC%8A%A4%ED%83%80%EC%9D%BC%EC%9D%84%20%EB%B3%80%ED%99%98%ED%95%A9%EB%8B%88%EB%8B%A4..png)
아래와 같이 이미지 목록이 포함된 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)'