文字列内のすべての単一引用符を、sedを使用して2つの単一引用符に置き換えたいとします。しかし、文字列に&が含まれている場合、sedコマンドはそれ以降の単一引用符を置き換えません。 これについていくつかご意見をお寄せください。sedを使用してエスケープする方法&
5
A
答えて
13
あなたは入力には何もをエスケープする必要はありません。
$ echo "123 ' foo & b'ar" | sed "s/'/''/g"
123 '' foo & b''ar
しかし、s
コマンド&
の「交換」部分には特別な意味を持っている:それは試合を」という意味します。必要に応じて、エスケープする必要のある他のすべてのように\
で
$ echo "123 ' foo & b'ar" | sed "s/'/&&/g"
123 '' foo & b''ar
エスケープそれを::上記のコマンドは以下のように書き換えることができる理由です
それはあなたが投稿した場合に答えるために簡単です$ echo "123 ' foo & b'ar" | sed "s/'/'\&'/g"
123 '&' foo & b'&'ar
5
あなたのコードですが、私はアンパサンドをエスケープしていないと思います。リテラルアンパサンドを使用する場合は&
を\&
に変更してください。
好奇心が強い場合は、The sed FAQの3.1.2節を参照してより詳細な説明をしてください。
0
それは私
bash>echo "'This is a string with 'single quote' & '&'" | sed "s/'/''/g"
''This is a string with ''single quote'' & ''&''
関連する問題
- 1. 無効なコマンドコード。期間をエスケープしてもsedを使用
- 2. jenkins sedコマンドをエスケープ
- 3. Jenkinsfileパイプラインでこのsedコマンドをエスケープする方法は?
- 4. mac os x(BSD)sedでプラス記号をエスケープする方法は?
- 5. エスケープを使用したLinux SEDコマンド構文
- 6. sedと組み合わせてtailを使用する方法。
- 7. bash/sedでカッコをエスケープする
- 8. sedコマンドでスラッシュをエスケープする
- 9. mod_rewrite用の.htaccessでregexを使って "?"をエスケープする方法
- 10. Selenium IDE:ワイルドカードを使用してテキストを検索するか、エスケープする方法 '
- 11. sedコマンドを使用してプロパティファイルの値を更新する方法
- 12. sedを使用してパターンの後に行を追加する方法
- 13. sedを使用してNULL文字列を\ Nに変換する方法
- 14. sed/awkを使用してXML非コメントセクションを取得する方法
- 15. sedコマンドで変数を使用してPHPを使用して行を置換する方法
- 16. Blogger - URLをエンコードするパーセント/クエリーパラメーターとして使用するエスケープ方法
- 17. ファイル内の特定の行に対してsedを使用する方法
- 18. sedを使用して整数を含む行を置き換える方法
- 19. grepを使用してnon-usa、en、ASCII文字をエスケープする方法は?
- 20. codeigniterを使用して特定のフィールドのフォームフィルタリングをエスケープする方法
- 21. bashでsed&awkを使用して変数を見つける方法
- 22. sedを使用してパターン間で文字を置き換える方法
- 23. Boost Regexで使用する文字列をエスケープする方法
- 24. sed正規表現で\ digitを使用する方法
- 25. シェル - sedコマンドで変数を使用する方法
- 26. 変数をsed検索パターンで使用する方法
- 27. sedでgrep resultを使用する方法
- 28. sedをmacOSで使用してbashスクリプトと置き換える方法
- 29. スラッシュをエスケープする方法、ボレーを使用してPOSTリクエストを送信する方法
- 30. sedのxpathの特殊文字をエスケープ
のために働いてねえ、私は '&'私の出力文字列内の文字列を置換します。私は、ウェブ上のさまざまな回答に基づいて ''& "、' \& '、' \\& '、' \\\& '、' "\& '" 'を試しましたが、 – Ava
'\&'は私のために働きます。たとえば、 'sed" s/amp/\&/ g "'を使って 'amp'のすべてのインスタンスを '&'に置き換えることができます。それでも問題が解決しない場合は、入力文字列とコードで新しい質問を投稿する必要があります。 –
そうです。私は変更を持っていない別のファイルを使用していた:( – Ava