Shell 字符串的截取

时间:2022-03-01 21:04:05

    直接上代码了。

 1 linux-56:/install # cat 3.sh 
 2 #!/bin/sh
 3 STR=HelloWorld
 4 echo 'STR == ' $STR
 5 
 6 echo ${STR:5:5} # == echo ${STR:5}  #结果为World
 7 echo ${STR:5} # Use : ${STR:begin:len} #结果为World
 8 
 9 expr substr "$STR" 6 5 #结果为World
10 
11 echo $STR | awk '{print substr($STR,6,5)}' #结果为World
12 
13 echo $STR | cut -c6-10 #结果为World
14 
15 #expr $STR : '\(.\\).*'
16 
17 echo $STR | dd bs=5 count=1 2>/dev/null #结果为Hello, 但是不带换行(count=1指仅拷贝一个块;bs=512指块大小为512个字节。)
18 
19 echo ""
20 echo ${STR##*Hello} #结果为World #从左向右截取最后一个string后的字符串
21 echo ${STR#*Hello} #结果为World #从左向右截取第一个string后的字符串
22 
23 echo ${STR%%World*} #结果为Hello #从右向左截取最后一个string后的字符串
24 echo ${STR%World*} #结果为Hello #从右向左截取第一个string后的字符串
25 
26 #ls -al | cut -d "." -f2 #这里可以得到文件夹的后缀名

 

注:dd命令可以参考

http://baike.baidu.com/link?url=ae_isrOCNhI5hHnW9nytcbuYAtdxKaN-yPceY8NiMTWT6o_kyYDRnBo73XqgYtePPk7U4hdLo5f0u7zvLvGpm-AZ3SHYEX7dkiHSsYQS7i7