最近学的linux教材上有个在shell中截取字符串的课后题,本来想着是用数组实现但是找不到窍门,只能直接对字符串进行截取了
只验证了两种方法现做记录:
1.从键盘读入字符串输出第一个字符开始后面的三个字符(注意从1开始标号)代码如下:
#!/bin/bash
#filename:jiequ
read mystr
expr substr "$mystr" 1 3
2.从键盘读入字符串输出第1个字符后面的3个字符(注意从0开始标号)代码如下:
#!/bin/bash
#filename:jiequ
read mystr
echo ${mystr:0:3}
3.输入字符串串和需要截取的第m个字符到第n个字符之间的字符包含第m和第n个代码:
#!/bin/bash
#filename:jiequ
echo "please enter a sentence:"
read SSS
n=` expr $2 - $1 `
echo $n
#geshu是截取字符的个数
geshu=` expr $n + 1 `
echo $geshu
#echo ${SSS:$1:$2}
expr substr "$SSS" $1 $geshu
注意expr后面必须有两个空格,其后的运算符两边必须有一个空格