删除字符串末尾的尾随字母

时间:2011-11-27 21:55:14

标签: string bash

我有一些字符串如下:

ffffffffcfdeee^dddcdeffffffffdddcecffffc^cbcb^cb`cdaba`eeeeeefeba[NNZZcccYccaccBBBBBBBBBBBBBBBBBBBBBB

eedeedffcc^bb^bccccbadddba^cc^e`eeedddda`deca_^^\```a```^b^`I^aa^bb^`_b\a^b```Y_\`b^`aba`cM[SS\ZY^BBB

每根弦可能(或可能不)以一段不同长度的尾随B结束。 我只是想知道我们是否可以简单地使用Bash代码来移除B拉伸?

3 个答案:

答案 0 :(得分:4)

只用bash

shopt -s extglob
str="a.zxn;lqwyerpyqgha;lsdnBBBBB"
str=${str%%+(B)}
echo $str   # ==> a.zxn;lqwyerpyqgha;lsdn

答案 1 :(得分:3)

您可以尝试类似

的内容
sed 's/\(.\)B*$/\1/' file

输入

aaa BBBBB
aaa BBBBB cccc
aaa bbb ccc BBBBBBB

输出

aaa
aaa BBBBB cccc
aaa bbb ccc

答案 2 :(得分:1)

这可能对您有用:

sed 's/B*$//' file