是否可能
我有这样的行:
"LExx 01236723 LE12"
我想找到LE12
并用LE12
替换LExx
。sed
?
您可以尝试以下方法:
$ echo "LExx 01236723 LE12" | sed 's/LExx(.*LE(..)$)/LE21/'
LE12 01236723 LE12
说明
s # substitute
/LExx # find LExx
(.* # save rest in arg1 (1)
LE(..)$ # find LE and save next 2 char in arg2 (2)
) # end arg1
/
LE21 # print LE + arg2 + arg1
/
假设两个搜索字符串都是 ststantants ,然后使用regexp extension b
使用 gnu sed
(在 bash
下运行((:
sed '/LE12/s/bLExxb/LE12/' <<< "LExx 01236723 LE12"
输出:
LE12 01236723 LE12