shell截取字符串的常用方法

前端之家收集整理的这篇文章主要介绍了shell截取字符串的常用方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1、获取字符从前8位,实现方法有如下几种:@H_502_1@

a=123456789@H_502_1@

$ expr substr $a 1 8
@H_502_1@

$ echo $a|cut -c 1-8echo $@H_502_1@

$ echo $a |dd bs=1 count=8 2> /dev/null@H_502_1@


@H_502_1@


@H_502_1@

2、按指定的字符串截取@H_502_1@


@H_502_1@

(1)第一种方法:@H_502_1@


@H_502_1@

从左向右截取最后一个string后的字符串@H_502_1@

${varible##*string}@H_502_1@

从左向右截取第一个string后的字符串@H_502_1@

${varible#*string}@H_502_1@

从右向左截取最后一个string后的字符串@H_502_1@

${varible%%string*}@H_502_1@

从右向左截取第一个string后的字符串@H_502_1@

${varible%string*}@H_502_1@


@H_502_1@

如ip=192.168.1.1,安装"."分割@H_502_1@

$ echo ${ip##*.} #得到的是最后一列@H_502_1@

1@H_502_1@

$ echo ${ip#*.}#得到的除去第一列的字符串@H_502_1@

168.1.1@H_502_1@


@H_502_1@

$ echo ${ip%%.*}#得到的是第一列@H_502_1@

192@H_502_1@

$ echo ${ip%.*} #得到的除去最后一列的字符串@H_502_1@

192.168.1@H_502_1@


@H_502_1@

3、获取指定的长度@H_502_1@


@H_502_1@

${varible:n1:n2}:截取变量varible从n1开始的n2个字符,组成一个子字符串。可以根据特定字符偏移和长度,使用另一种形式的变量扩展,来选择特定子字符串。试着在 bash 中输入以下行:@H_502_1@

如ip=192.168.1.1@H_502_1@

$ echo ${ip:0:3}@H_502_1@

192@H_502_1@

$ echo ${ip:3}@H_502_1@

.168.1.1@H_502_1@


@H_502_1@


@H_502_1@

4、获取指定的列@H_502_1@

如ip=192.168.1.1@H_502_1@

$ echo $ip | cut -d "." -f2@H_502_1@

168@H_502_1@

$ echo $ip| awk -F "." '{print $2}'@H_502_1@

168@H_502_1@


@H_502_1@

参考:http://54rd.net/html/2015/shell_0423/110.html @H_502_1@

猜你在找的Bash相关文章