sed [duplicate]を使用してファイルに一重引用符を含む行を追加する方法

sed [duplicate]を使用してファイルに一重引用符を含む行を追加する方法

sedを使用してテキストファイルに次の行を追加したいと思います。

gem 'forum2discourse'

私はそれを試しましたが、プロンプトがsed -i '$a gem \'forum2discourse\'' Gemfile表示されるので、文字を>誤ってエスケープしたようです。'

ベストアンサー1

sed -i '$a gem '"'"'forum2discourse'"'" Gemfile

代替ソリューション

独自の方法で実行するには、bash$'string'形式を使用してください。 $ 'string'形式の単語は特別に扱われます。ワードは、ANSI C規格で指定されているように置き換えられたバックスラッシュエスケープ文字を使用して文字列に展開されます。

sed -i $'$a gem \'forum2discourse\'' Gemfile

源泉:http://wiki.bash-hackers.org/syntax/quoting#ansi_c_like_strings

おすすめ記事