我有很多这样的话:
<anyword1.> 1. Blablabla .> 2 blablabla .> 3 blablabla
我需要这个:
<anyword.> 1. Blablabla .> 2 blablabla .> 3 blablabla
我想到了使用“。&gt;”分为两行的分割线分离器:
A="<anyword1"
B=" 1. Blablabla .> 2 blablabla .> 3 blablabla"
然后删除A中的数字1,最后合并A“。&gt;”B
问题是我可以用awk获得A:
awk -F ".>" '{ print $1 }'
但如何获得B?有没有办法从第一个分隔符“。&gt;”拆分到字符串的末尾?
我尝试使用cut命令,但cut只允许一个字符分隔符。
PD。 “anyword”这个字符串可以有'。'这就是为什么我需要两个字符分隔符。
答案 0 :(得分:3)
怎么样:
awk -F ".>" '{print $1}'
awk -F ".>" '{$1=""; print}'
? :)
答案 1 :(得分:2)
awk '/(.*?).> (.*)/ { a= $1;$1="";b=$0;print a,b}'
通过这种方式,您可以在单行中同时拥有a
和b
答案 2 :(得分:0)
如果我理解正确,听起来你想要的是用1.>
替换每一行.>
的第一次出现?如果是这样,那么你可以写:
sed 's/1[.]>/.>/'