SED 替换包含 CR LF 的字符串
SED to replace strings containing CR LF
我正在尝试替换文件文本中包含 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
我正在尝试替换文件文本中包含 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