プログラミング

sedでシングルクォーテーションの中でシングルクォーテーションを置換する

$ echo \'aaaa\' | sed 's/'\''/1/g'
1aaaa1

理屈はよくわからないが、シングルクォーテーションを置換したい場合は、\'などではなく、
'\''としてやる。
わかりやすく文字列に置き換えると、[シングルクォーテーション][バックスラッシュ][シングルクォーテーション][シングルクォーテーション]だ。
これが面倒だからといってシングルクォーテーションではなくダブルクォーテーションで囲んでやることもできるが、それはそれで別問題が発生するのでやめたほうがいい。

sedでダブルクォーテーション・シングルクォーテーションの置換・削除を行う | 俺的備忘録 〜なんかいろいろ〜