0

以下を使用して、ファイル内の行を変更しました。

sed -i '\%oldword% c\ newline' filename

の区切り文字を変更する方法を知っていoldwordます。ただし、改行内にはバックスラッシュ記号もあります。バックスラッシュ記号をエスケープできるように、改行コンテンツの区切り記号を変更する方法はありますか?

local_addressファイル内のテキストをバックスラッシュエスケープで置き換える例root/usr/dict2/file

それを機能させるには、すべてのバックスラッシュをエスケープする必要があります

sed -i '\%local_address% c\ //root//usr//dict2//file' file

これを行うためのきちんとした方法はありますか?

4

1 に答える 1

2

これはうまくいくかもしれません(GNU sed):

sed '\%oldword%c\line\
line two with a \\ in it\
line three\
line four' file

、またはコマンド内にa\\を含めるには、 a を使用します。\cai

于 2013-06-07T21:18:15.940 に答える