28

我在 bash 中有以下字符串,长度 > 4

str = "abcdefghijklmno"

我想提取str2str. 所以

str2="abcde"

如何用 bash 做到这一点?

4

1 回答 1

52

请使用表达式

{string:position:length}

所以在这种情况下:

$ str="abcdefghijklm"
$ echo "${str:0:5}"
abcde

查看其他用法:

$ echo "${str:0}"      # default: start from the 0th position
abcdefghijklm
$ echo "${str:1:5}"    # start from the 1th and get 5 characters
bcdef
$ echo "${str:10:1}"   # start from 10th just one character
k
$ echo "${str:5}"      # start from 5th until the end
fghijklm

取自:
-wooledge.org-如何使用参数扩展?如何获取子字符串?如何获取没有扩展名的文件,或者只获取文件的扩展名?
- Shell 命令语言 - 2.6.2 参数扩展

于 2013-05-10T14:50:40.580 回答