以下のように、画像のリストを含む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)'