【发布时间】:2015-01-14 15:28:31
【问题描述】:
我有一个文本文件 file.log 包含以下文本
文件.log
ab
cd
ef
我想用“ab\n”替换“ab\ncd”,最终的file.log应该是这样的:
ab
ef
这是我正在使用的 sed 命令,但它无法识别换行符以匹配模式:
sed -i 's/\(.*\)\r \(.*\)/\1\r/g' file.log
在 '\r' 之后有 3 个字符空格,但不会对此进行任何更改。
\(.*\) - 匹配任何字符 (.) 后跟前一个字符的 0 个或多个 (*)
\r - 换行
\1 - 替换第一个匹配模式。在这种情况下,它是'ab'
你能帮我看看上面的命令有什么问题吗?
【问题讨论】: