如何获取 bash 字符串的特定子集
How to get specific subset of bash string
对于 "c-zyte5:p-6db39"
这样的字符串,我如何解析它以获得特定的子集,例如 p-6db39
- 去掉前 9 个字符和最后一个字符?
你可以这样写:
foo='"c-zyte5:p-6db39"'
echo "${foo:9:-1}" # prints p-6db39
(参见 the Bash Reference Manual, §3.5.3 "Shell Parameter Expansion"。)
除了子字符串索引之外,您还可以使用 参数扩展 和子字符串删除功能来删除从左至上第一个 ':'
的所有字符,例如
v="c-zyte5:p-6db39"
echo "${v##*:}"
结果
p-6db39
对于 "c-zyte5:p-6db39"
这样的字符串,我如何解析它以获得特定的子集,例如 p-6db39
- 去掉前 9 个字符和最后一个字符?
你可以这样写:
foo='"c-zyte5:p-6db39"'
echo "${foo:9:-1}" # prints p-6db39
(参见 the Bash Reference Manual, §3.5.3 "Shell Parameter Expansion"。)
除了子字符串索引之外,您还可以使用 参数扩展 和子字符串删除功能来删除从左至上第一个 ':'
的所有字符,例如
v="c-zyte5:p-6db39"
echo "${v##*:}"
结果
p-6db39