Удалить завершающие буквы в конце строки - PullRequest
1 голос
/ 28 ноября 2011

У меня есть несколько строк, подобных приведенным ниже:

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 ]

4 голосов
/ 28 ноября 2011

только с bash

shopt -s extglob
str="a.zxn;lqwyerpyqgha;lsdnBBBBB"
str=${str%%+(B)}
echo $str   # ==> a.zxn;lqwyerpyqgha;lsdn
3 голосов
/ 28 ноября 2011

Вы можете попробовать что-то вроде

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

Input

aaa BBBBB
aaa BBBBB cccc
aaa bbb ccc BBBBBBB

выход

aaa
aaa BBBBB cccc
aaa bbb ccc
1 голос
/ 28 ноября 2011

Это может работать для вас:

sed 's/B*$//' file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...