加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell截取字符串的常用方法

发布时间:2020-12-15 16:35:41 所属栏目:安全 来源:网络整理
导读: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} 从左

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读