最近学的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后面必须有两个空格,其后的运算符两边必须有一个空格
本文介绍了在Linux shell环境中使用多种方法进行字符串截取的技巧,包括使用read命令从键盘读入字符串并输出指定位置的字符。通过具体代码示例展示了如何实现从第一个字符开始截取三个字符及从第一个字符开始截取三个字符的操作,并详细解释了表达式命令的用法。
331

被折叠的 条评论
为什么被折叠?



