Autrement dit, en allant de ABCD
-> ABC
Tu peux essayer:
sed s'/.$//'
L'expression régulière utilisée est .$
.
est un méta-caractère regex qui correspond à tout (sauf la nouvelle ligne)$
est l'ancre de fin de ligne.En utilisant le $
nous forçons le .
pour correspondre au dernier caractère
Cela supprimera le dernier caractère, que ce soit:
$ echo ABCD | sed s'/.$//'
ABC
$ echo ABCD1 | sed s'/.$//'
ABCD
Mais si vous souhaitez supprimer le dernier caractère, uniquement s'il s'agit d'un alphabet, vous pouvez faire:
$ echo ABCD | sed s'/[a-zA-Z]$//'
ABC
$ echo ABCD1 | sed s'/[a-zA-Z]$//'
ABCD1
vous n'avez pas d'appel de commandes externes si vous utilisez un shell, par exemple bash/ksh
s="ABCD"
echo ${s/%?/}