sedを使用して2つの異なる文字の間に文字を挿入する方法

sedを使用して2つの異なる文字の間に文字を挿入する方法

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-any2つ目はを挿入します.html

Bashとsedを使ってこれをどのように実行しますか?

ベストアンサー1

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

おすすめ記事