SED替换包含CR-LF的字符串

SED替换包含CR-LF的字符串,sed,replace,newline,Sed,Replace,Newline,我试图替换文件文本中包含CR和LF的字符串 所以输入文件 abcd efgh ijkl 变成 abcd zxgh ijkl 字面上我希望字符串cd+CR+LF+ef被cd+CR+LF+zx替换。 我试过了 sed -e 's/cd\red/cd\rzx/g' file sed -e 's/cd\r\ned/cd\r\nzx/g' file 没有成功切换到Perl perl -0777 -pe 's/cd\r\nef/cd\r\nzx/' file 或使用GNU sed: sed '/cd

我试图替换文件文本中包含CR和LF的字符串

所以输入文件

abcd
efgh
ijkl
变成

abcd
zxgh
ijkl
字面上我希望字符串cd+CR+LF+ef被cd+CR+LF+zx替换。 我试过了

sed -e 's/cd\red/cd\rzx/g' file
sed -e 's/cd\r\ned/cd\r\nzx/g' file
没有成功

切换到Perl

perl -0777 -pe 's/cd\r\nef/cd\r\nzx/' file
或使用GNU sed:

sed '/cd\r$/{N;s/cd\r\nef/cd\r\nzx/}' file
输出:

abcd zxgh ijkl 使用sed,您可以按如下方式执行:

sed '/cd\r$/N;s/cd\r\nef/cd\r\nzx/' file

非常感谢。我还必须使用命令unix2dos文件使其工作。谢谢。我还必须使用命令unix2dos文件使其工作。这是否回答了您的问题?