1、获取字符从前8位,实现方法有如下几种:
a=123456789
$ expr substr $a 1 8
$ echo $a|cut -c 1-8echo $
$ echo $a |dd bs=1 count=8 2> /dev/null
2、按指定的字符串截取
(1)第一种方法:
从左向右截取最后一个string后的字符串
${varible##*string}
从左向右截取第一个string后的字符串
${varible#*string}
从右向左截取最后一个string后的字符串
${varible%%string*}
从右向左截取第一个string后的字符串
${varible%string*}
如ip=192.168.1.1,安装"."分割
$ echo ${ip##*.} #得到的是最后一列
1
$ echo ${ip#*.}#得到的除去第一列的字符串
168.1.1
$ echo ${ip%%.*}#得到的是第一列
192
$ echo ${ip%.*} #得到的除去最后一列的字符串
192.168.1
3、获取指定的长度
${varible:n1:n2}:截取变量varible从n1开始的n2个字符,组成一个子字符串。可以根据特定字符偏移和长度,使用另一种形式的变量扩展,来选择特定子字符串。试着在 bash 中输入以下行:
如ip=192.168.1.1
$ echo ${ip:0:3}
192
$ echo ${ip:3}
.168.1.1
4、获取指定的列
如ip=192.168.1.1
$ echo $ip | cut -d "." -f2
168
$ echo $ip| awk -F "." '{print $2}'
168
参考:http://54rd.net/html/2015/shell_0423/110.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。