引用符とバックスラッシュを含む文字列をどのように転送しますか?

引用符とバックスラッシュを含む文字列をどのように転送しますか?

「sed」を使用して、引用符とバックスラッシュを含むファイルの文字列を置き換えるのに問題があります。

私はこれを試しましたが、成功しませんでした。

sed -e 's/"\u001b[0;31mUnkwn\u001b[0m"/"UNKWOWN"/g' file.txt

入力する:

"Vendor": "\u001b[0;31mUnknown\u001b[0m"

希望の出力:

"Vendor": "Unknown"

ベストアンサー1

次のように2つのsedコマンドを接続できます。

sed 's,\\u001b\[0\;31m,,' | sed 's,\\u001b\[0m,,'

例:

$ echo '"Vendor": "\u001b[0;31mUnknown\u001b[0m"' | sed 's,\\u001b\[0\;31m,,' | sed 's,\\u001b\[0m,,'
"Vendor": "Unknown"

おすすめ記事