我试图在osx / bash的shell脚本中使用6 8
2 3 5
7
11
2 7 1 8 2 8 1 8 2 8 5
命令。我可以使用最简单的命令形式替换sed
的某些内容,如下所示
MyFile
其中MyFile内容为sed -i -e 's/abc/123/g' MyFile
。上述命令可以很好地将xyzabcdefghijk
替换为abc
&输出为123
但是,如何修改xyz123defghijk
命令以替换sed
之后的2
个字符以及abc
。简单来说,我想在abc
&中搜索字符串abc
。使用MyFile
替换abc + 2
之后的12345
个字符。
因此,如果MyFile
包含abcdefghijk
,则输出应包含xyz12345fghijk
有什么建议吗?
答案 0 :(得分:0)
更改abc
以及abc
之后的两个字符:
$ sed -e 's/abc../12345/g' MyFile
xyz12345fghijk
在正则表达式中,.
匹配任何单个字符。因此,..
匹配两个字符,abc..
匹配abc
和abc
之后的任意两个字符。
要对原地文件进行更改:
sed -i.bak -e 's/abc../12345/g' MyFile