
私はこのようなものを持っています。
I like reading **books** and taking **notes**
私はこのようなものを手に入れようとしています。
I like reading <b>books</b> and taking <b>notes</b>
しようとします。
sed 's/\*\*\(.*\)\*\*/<b>\1<\/b>/g' a.txt
これは返されます。
I like reading <b>books** and taking **notes</b>
全体のラインを包みます。バイパスする方法はありますか?
注:私はsedのGNUバージョンを使用しています。
答え1
GNUを使用して次のことができますsed
。
$ sed 's:\*\*\([^*]*\)\*\*:<b>\1</b>:g' a.txt
I like reading <b>books</b> and taking <b>notes</b>
パターンはワイルドカードではなく\*\*\([^*]*\)\*\*
文字列をキャプチャします。最後に、タグ間でキャプチャされたグループ自体を置き換えることができます。**...**
*