并不要求从行首开始匹配。cao627 写了: 做下概括:
在txtfile中 ,如何将匹配到的各行上的文本(这个文本可用一个正则表达式(设为REa)匹配到),替换为相应行上其他位置相应的文本(这个文本可用另一个正则表达式(设为REb)匹配到)
方法 1
用sed命令其中\(otherRE\( REb \) otherRE \)要确保能匹配到行首到REa匹配到字符之前的全部内容代码: 全选
sed 's/\(otherRE\( REb \) otherRE \)REa/\1\2/' txtfile
其实做这种个例总结,不如直接去理解正则表达式中各元字符的含义及s命令的用法。
s 命令中,查找内容为正则表达式,这就不多解释了。替换文本中,\1 表示查找表达式中从第一个 \( 到与之匹配的 \) 之间内容,\2 表示从第二个 \( 到与之匹配的 \) 之间内容