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
本文出自 “小魚的博客” 博客,謝絕轉載!
shell截取字符串的常用方法