How to shave off last character using sed?
That is, going from ABCD ->开发者_StackOverflow社区 ABC
You can try:
sed s'/.$//'
The regex used is .$
.is a regex meta char to match anything (except newline)$is the end of line anchor.
By using the $ we force the . to match the last char
This will remove the last char, be it anything:
$ echo ABCD | sed s'/.$//'
ABC
$ echo ABCD1 | sed s'/.$//'
ABCD
But if you want to remove the last char, only if its an alphabet, you can do:
$ echo ABCD | sed s'/[a-zA-Z]$//'
ABC
$ echo ABCD1 | sed s'/[a-zA-Z]$//'
ABCD1
you don't have call external commands if you are using a shell, eg bash/ksh
s="ABCD"
echo ${s/%?/}
加载中,请稍侯......
精彩评论