Shell字符串截取的详细方法
一、Linux shell 截取字符变量的前8位,有方法如下:
1.expr substr “$a” 1 8
2.echo $a|awk ‘{print substr(,1,8)}'
3.echo $a|cut -c1-8
4.echo $
5.expr $a : ‘(.\).*'
6.echo $a|dd bs=1 count=8 2>/dev/null
二、按指定的字符串截取
1、第一种方法:
${varible##*string} 从左向右截取最后一个string后的字符串
${varible#*string}从左向右截取第一个string后的字符串
${varible%%string*}从右向左截取最后一个string后的字符串
${varible%string*}从右向左截取第一个string后的字符串
“*”只是一个通配符可以不要
例子:
$ MYVAR=foodforthought.jpg
$ echo ${MYVAR##*fo}
rthought.jpg
$ echo ${MYVAR#*fo}
odforthought.jpg
2、第二种方法:${varible:n1:n2}:截取变量varible从n1到n2之间的字符串。
可以根据特定字符偏移和长度,使用另一种形式的变量扩展,来选择特定子字符串。试着在 bash 中输入以下行:
$ EXCLAIM=cowabunga
$ echo ${EXCLAIM:0:3}
cow
$ echo ${EXCLAIM:3:7}
abunga
这种形式的字符串截断非常简便,只需用冒号分开来指定起始字符和子字符串长度。
三、按照指定要求分割:
比如获取后缀名
ls -al | cut -d “.” -f2
应用心得:
$MYVAR="12|dadg"
echo ${MYVAR##*|} #打印分隔符后的字符串
dafa
echo ${MYVAR%%|*} #打印分隔符前的字符串
12
Linux Shell脚本编程的注意事项
一、常用技巧sshuser@serverbash/path/to/local/script.sh#ssh到远程服务器执行一个脚本,此命令可以避免将脚本上传到远程服务器sshuser@hostcat/path/to/remotefile|diff/pat
自动生成linux网卡配置脚本分享
补充:这是对于第一次添加的网卡有效,如果需要重复添加和删除后自动配置,需要更改脚本,改为根据ipa命令的信息来修改。#!/bin/bash#update:2013-02-25#au
实现批量linux格式化硬盘和挂载硬盘脚本分享
#!/bin/bashPATH=/bin:/sbin:/usr/bin:/usr/sbinexportPATHi=1while[$i-lt13]#硬盘数量,除系统盘之外是12块doj=`echo$i|awk'{printf"%c",97+$i}'`#系统盘是sda,如果是其它的需要修改脚
标签:字符串,脚本,变量,第一个,字符