我想搜索一个字符串并对其进行修改
我构建了一个像这样的字符串:
|Bor.Team1-FCTeam2|
但也是:
|FCTeam2-Bor.Team1|
或作为模式
|Text–Text|
我想更改Team1的名称,它可以有不同的名称,例如:
Bor.Team1
B.Team1
BTeam091
...
我希望每次都有相同的名字 - > B.Team1
Team
每次都是不同的用语!
我和sed 's/\bBor.Team1\b/B.Team1/g'
一起玩,但我必须找到并了解每一个不同的用语。
答案 0 :(得分:0)
那个shoudl做你需要的:
echo $string | sed -e 's/[a-zA-Z\.]\+Team\([0-9]\+\)/B.Team\1/g'
搜索字母字符以及点(.
),后跟单词Team
,后跟数字([0-9]
)。这一切将被你想要的任何东西取代。在示例中,B.Team
后跟找到的号码(\1
)。
答案 1 :(得分:0)
查找并替换任何内容Team1
d替换整个B.Team1
并在每个| |
包围的内容中保持计数器部分相同
sed -e 's/\|[^-|]*Team1[^-|]*-\([^|]*\)|/|B.Team1-\1|/g
s/\|\([^-|]\)-[^|]*Team1[^|]*|/|\1-B.Team1|/g' YourFile
例如: