【发布时间】:2016-04-06 06:35:54
【问题描述】:
我有很多这样的台词:
<anyword1.> 1. Blablabla .> 2 blablabla .> 3 blablabla
我需要这个:
<anyword.> 1. Blablabla .> 2 blablabla .> 3 blablabla
我想过使用“.>”分隔符将行分成两行:
A="<anyword1"
B=" 1. Blablabla .> 2 blablabla .> 3 blablabla"
然后去掉A中的数字1,最后合并A".>"B
问题是我可以用 awk 得到 A:
awk -F ".>" '{ print $1 }'
但是如何获得 B?有没有办法从第一个分隔符“.>”分割到字符串的末尾?
我尝试使用 cut 命令,但 cut 只允许一个字符分隔符。
PD。 "anyword" 这个字符串可以有 '.'这就是为什么我需要两个字符分隔符。
【问题讨论】:
-
要将分隔符视为“点大于”而不是“任何字符大于”,您必须
-F '\\.>'或-F "\\\\.>"- 您必须传递适当的数字转义到 awk。 -
@Gea - 与
sed 's/1//'或类似方法相比,这是一种非常奇怪的方法。