小编Ezr*_*oss的帖子

用GNU sed(macOS)4.4替换另一个捕获组

我已经查看了一些其他外围问题并且无法找到问题的解决方案,所以如果这与我错过的内容重复,我很抱歉.

基本上,我有以下GNU sed命令:

sed -E -imr 's/^(\w)+/(\w)+$/g' file
Run Code Online (Sandbox Code Playgroud)

应该用行的最后一个单词替换行的第一个单词.

第一个正则表达式^(\w)+非常有效,并匹配每一行的第一个单词.问题是该命令用文字字符串替换了第一个单词(w)+$

我试图逃避反斜杠,括号,运算符,但我没有运气使正则表达式在命令的输出部分工作.

可以使用正则表达式捕获组来替换不同的正则表达式捕获组吗?需要转义什么,或者需要使用哪种替代语法?

注意

我在brew安装的coreutils上使用了macOS上的GNU sed,所以这个问题的答案可能不适用于其他版本的sed,就像macOS上的本地BSD一样.

regex sed gnu-sed

1
推荐指数
1
解决办法
657
查看次数

标签 统计

gnu-sed ×1

regex ×1

sed ×1