shell截取字符串的常用方法
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |