sed シングルクォーテーションをエスケープ

アカンやり方

 

\'

 

シングルクォーテーションをエスケープするために、手前にバックスラッシュをつけるだけだと違う意味になるらしい。

あとで調べたら、\'はバッファの末尾、という意味のメタ文字だった。

sedのお勉強 qiita

正しいやり方

sed の キーワード全体をシングルクォーテーションでなくダブルクォーテーションで囲う

sed "s/'/A/g"

みたいな感じ。

それができれば、全体をシングルクォーテーションで囲うより見やすくていいと思う。

 

sed の キーワード全体をシングルクォーテーションで囲う場合

 

\’  を、さらにシングルクォーテーションで囲う

'\''

 

$ cat blog.txt
'aaa'

↑こんな内容のファイルがあったとする。

 

 

$ sed 's/'\''/A/g' blog.txt
AaaaA

↑こうなる。

コメント

タイトルとURLをコピーしました