То есть, начиная с ABCD
→ ABC
Как сбрить последний символ с помощью sed?
Ответ 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/%?/}