我正在使用sed -e 's/\(.*\)ABC/\1DEF/' myfile命令替换一个文件中最后一次出现的ABC为DEF。 我想修改它,以在文件的每行中替换最后一次出现的ABC为DEF。 是否可以使用正则表达式实现? 谢谢
您需要在sed命令的末尾添加'g':sed -e 's/\(.*\)ABC/\1DEF/g' 这告诉sed替换每个正则表达式的出现(“全局”),而不仅仅是第一个出现。 编辑: 如果您想确保替换行中最后一次出现的ABC,则还应添加$。sed -e 's/\(.*\)ABC$/\1DEF/g'
sed -e 's/\(.*\)ABC/\1DEF/'
将替换文件中每行的最后一个出现的ABC
。 - anubhava/g
像建议的那样,结果也可以工作。 - Michael/g
标志来替换最后一次出现的ABC
。 - anubhava