shell中有如下几种方法可以实现substr的功能。
方法一:
expr <string_variable> start_pos length
方法二:
echo ${<string_variable>:start_pos[:length]}
方法三:
awk中直接支持 substr 。
echo "" | awk '{substr('<string_variable>',start_pos,length)}'
例如:
str="abcd"
方法一:
$ expr $str 2 3
bcd
方法二:
$ echo ${x:2}
bcd
$ echo ${x:2:3}
bcd
方法三:
$ echo "" | awk '{substr('$x',2,3)}'
bcd
追问方法1和2貌似不行哦 方法3 我试过了是可行的
$ str="abcd";echo $str|awk '{print substr($0,2,3)}'
bcd
本回答被提问者采纳