2017-08-11 66 views
1

sedを使用して複数の特殊文字を含む値を入力しようとしています。私たちはどんなエスケープ文字なしでこの値を使用する場合は、サンプル値が//*[@id='login_username']sedのxpathの特殊文字をエスケープ

で、コマンドは次のようになります。

sed -i 's/Text to be replaced/new text and some xpath like //*[@id='login_username']/' target.txt 
私は次のような構造になった \文字、とそれぞれの特殊文字をエスケープしようとした

//\*\[@id='login_username'\]

値を二重引用符で囲んでみましたが、どちらも機能しません。それ以外に何ができますか?置換テキストで

sed -i "s|Text to be replaced|new text and some xpath like //*[@id='login_username']|" target.txt 

、あなたがエスケープする必要がある唯一のものは、次のとおりです:

答えて

1

あなたは、たとえばs|||ため、代わりに/s///コマンドで別のセパレータを使用することができます

  • "sedパラメータを
  • |で囲むために使用されているため、これはセパとして使用されているためですあなたが例\"\|ため、\でこれらをエスケープすることができますs///コマンド

でrator。

関連する問題