linux中如何实现删除每行匹配的最后一个指定的字符之后即之前的内容
001、 删除每一行最后一个匹配的特定字符后边的部分
[root@localhost test]# ls a.txt [root@localhost test]# cat a.txt ## 测试数据 ab ad aj di ii rr [root@localhost test]# sed 's/\(.*\)a\(.*\)/\1a/' a.txt ## 删除最后一个匹配的a后边的部分 ab ad a di ii rr [root@localhost test]# sed 's/\(.*\)i\(.*\)/\1i/' a.txt ##删除最后一个匹配的i之后的部分 ab ad aj di ii
.
002、
[root@localhost test]# ls a.txt [root@localhost test]# cat a.txt ## 测试数据 ab ad aj di ii rr [root@localhost test]# sed 's/\(.*\)a\(.*\)/a\2/' a.txt ## 删除最后一个匹配的a之前的部分 aj di ii rr [root@localhost test]# sed 's/\(.*\)i\(.*\)/i\2/' a.txt ## 删除最后一个匹配的i之前的部分 ab ad aj i rr
。