つまり、ABCD
-> ABC
から
あなたが試すことができます:
sed s'/.$//'
使用される正規表現は.$
.
は、すべてに一致する正規表現のメタ文字です(改行を除く)$
は行末アンカーです。$
強制的に.
最後の文字に一致する
これにより、最後の文字が削除されます。
$ echo ABCD | sed s'/.$//'
ABC
$ echo ABCD1 | sed s'/.$//'
ABCD
しかし、最後の文字を削除したい場合は、アルファベットの場合のみ、次のことができます:
$ echo ABCD | sed s'/[a-zA-Z]$//'
ABC
$ echo ABCD1 | sed s'/[a-zA-Z]$//'
ABCD1
シェルを使用している場合、外部コマンドを呼び出す必要はありません(bash/kshなど)
s="ABCD"
echo ${s/%?/}