sed를 사용하여 서로 다른 두 문자 사이에 문자를 삽입하는 방법

sed를 사용하여 서로 다른 두 문자 사이에 문자를 삽입하는 방법

Markdown 파일에 비슷한 문자열이 있는데 [can-be-anything](./can-be-any#vitedevserver)이를 [can-be-anything](./can-be-any.html#vitedevserver).

.html앞에 삽입하고 싶습니다 #.

따라해봤는데 안되네요.

link=$(sed -e 's/.*](\.\/\(.*\)#.*/\1/g' $file)
sed -i "s|](./\(.*\)#|](./${link}.html#|g" $file

첫 번째는 을 가져오고 can-be-any두 번째는 을 삽입합니다 .html.

Bash와 sed를 사용하여 이 작업을 어떻게 수행하나요?

답변1

echo '[can-be-anything](./can-be-any#vitedevserver)' | sed 's/](\(\.\/.*\)#/](\1.html#/'

관련 정보