1. 程式人生 > >shell截取字符串的常用方法

shell截取字符串的常用方法

ja

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截取字符串的常用方法