Подтвердить что ты не робот

Как сбрить последний символ с помощью sed?

То есть, начиная с ABCDABC

4b9b3361

Ответ 1

Вы можете попробовать:

sed s'/.$//'

Используемое регулярное выражение .$

  • . является регулярным выражением meta char для соответствия ничего (кроме новой строки)
  • $ - конец привязки строки.

Используя $, мы вынуждаем . соответствовать последнему char

Это приведет к удалению последнего char, будь то все:

$ echo ABCD | sed s'/.$//'
ABC
$ echo ABCD1 | sed s'/.$//'
ABCD

Но если вы хотите удалить последний char, только если его алфавит, вы можете сделать:

$ echo ABCD | sed s'/[a-zA-Z]$//'
ABC
$ echo ABCD1 | sed s'/[a-zA-Z]$//'
ABCD1

Ответ 2

у вас нет внешних команд вызова, если вы используете оболочку, например bash/ksh

s="ABCD"
echo ${s/%?/}