【发布时间】:2014-08-24 13:32:15
【问题描述】:
假设我有一个变量name 保存一些字符串值
要获取最后 n 个字符,我们在 bash 中编写:
$ echo "${name: -n}"
ksh 中的等效方式是什么,我见过 sed 和 awk 方法,但我正在寻找的是类似于 bash 的一行或管道解决方案来提取最后一个字符
到目前为止,这些都是错误和努力:
AB12 $ name="123456"
AB12 $ echo ${name:(-3)}
ksh: ${name:(-3)}: bad substitution
AB12 $ echo${name:0:-3}
ksh: echo${name:0:-3}: bad substitution
AB12 $ print ${name%?}
12345
AB12 $ echo "some string" | tail -c -1
tail: cannot open input
AB12 $ echo -n "my string discard"| tail -c -1
tail: cannot open input
AB12 $ echo "foo"| cut -c 1-2
fo
AB12 $ echo "foo"| cut -c -2
fo
AB12 $ echo $name
123456
AB12 $ echo "${name: -3}"
ksh: "${name: -3}": bad substitution
我目前在 Solaris - 如果这有帮助!
【问题讨论】:
标签: linux string shell solaris ksh