我可以从“ sed”中检索一个字符吗?

时间:2018-07-06 09:57:57

标签: linux sed

使用sed命令,可以执行内部字符串命令吗?在这种情况下,实际的行是:

s/9G /9F6 09999F7 09999F8 09999F9 09999G /g
s/0G /0F6 09999F7 09999F8 09999F9 09999G /g

可以使用[09]设置数字,但我不知道是否可以从&说来取回并在F6之前使用它,如下所示:

s/[09]G /(&:0:1)F6 09999F7 09999F8 09999F9 09999G /g

顺便说一句,此实际代码无效。

1 个答案:

答案 0 :(得分:2)

您正在寻找一种\(SUB_PATTERN\)形式的 sub表达式

sed 's/\([09]\)G /\1F6 09999F7 09999F8 09999F9 09999G /g' file

来自man sed

  

s/regexp/replacement/                 尝试将正则表达式与模式空间进行匹配。如果成功,则替换与替换匹配的那部分。                 替换内容可能包含特殊字符&,以指代模式空间中与和                 特殊的转义\ 1到\ 9表示正则表达式中相应的匹配子表达式。