我正在尝试从最后一个
中提取一个带有起始索引和索引的子字符串例如
val = "SUBSTRING"
|||||||||||||||||
12345678901234567
我需要来自start index = 8和end index = -2的字符串(子字符串的长度当然是变量)
我知道这是一个非常基本的问题但有没有直接的方法可以使用单一命令来完成?
答案 0 :(得分:2)
您可以使用参数子字符串扩展:
string='val = "SUBSTRING"'
echo "${string:7:-1}"
起始位置为7,编号从0开始。
如果length的计算结果小于零,则将其解释为距参数值末尾的偏移量而不是多个字符,并且扩展名是两个偏移量之间的字符。
答案 1 :(得分:0)
尝试使用cut -c startIndx-stopIndx
例如:
1) start=5;stop=9; echo "the rain in spain" | cut -c $start-$(($stop-1))
输出:下雨
2) start=5;stop=9; echo "theRainInSpain" | cut -c $start-$(($stop-1))
输出: ainI