linux shell取变量的子串26种方法实践

##########20150419#########################
#####题目:变量a=‘a/b/c‘如何截取得到c 
@@@@@@@@@@@@@@@@来自运维班21期悠久之翼整理@@@@@@@@@@@@@@@@@@@
[wxr@oldboy shell]$ uname -r 
2.6.32-504.el6.x86_64
[wxr@oldboy shell]$ cat /etc/redhat-release 
CentOS release 6.6 (Final)
方法一
[wxr@oldboy shell]$ echo $a | cut -c5
c
方法二
[wxr@oldboy shell]$ echo $a | tr "a/b/" "    "    ##四个空格
    c   
方法三
[wxr@oldboy shell]$ echo $a | tr "/" "\n"|tail -1
c
方法四
[wxr@oldboy shell]$ echo $a | tr -d ‘a/b/‘
c
方法五
[wxr@oldboy shell]$ echo $a | rev |head -c1
c[wxr@oldboy shell]$ 
方法六
[wxr@oldboy shell]$ echo $a | rev |cut -c1
c
方法七
[wxr@oldboy shell]$ echo $a | grep -o "[a-z]$"
c
方法八
[wxr@oldboy shell]$ echo $a | grep -o "[^ab/]"
c
方法九
[wxr@oldboy shell]$ echo $a | sed  ‘s#.*/##‘ 
c
方法十
 [wxr@oldboy shell]$ echo $a | sed ‘y#a/b/#    #‘  ##四个空格
    c
方法十一
[wxr@oldboy shell]$ echo $a | sed -r ‘s#....(.)#\1#‘ 
c
方法十二
[wxr@oldboy shell]$ echo $a | sed -r ‘s#.*([a-z]$)#\1#‘
c
方法十三
[wxr@oldboy shell]$ echo $a | awk -F/ ‘{print $NF}‘
c
方法十四
[wxr@oldboy shell]$ echo $a | awk ‘{gsub(".*/","",$0);print}‘
c
方法十五
[wxr@oldboy shell]$ echo $a | awk ‘{split($0,array,"/");print array[3]}‘
c
方法十六
[wxr@oldboy shell]$ echo $a | awk ‘{split($0,array,"a/b/");print array[2]}‘
c
方法十七
[wxr@oldboy shell]$ echo $a | awk ‘{sub(/[^c]+/,"");print}‘
c
方法十八
[wxr@oldboy shell]$ echo $a | awk ‘{gsub("/","\n");print $3}‘
c
方法十九
[wxr@oldboy shell]$ echo $a | awk ‘{print substr($0,5,1) }‘
c
方法二十
[wxr@oldboy shell]$ echo $a | awk  ‘BEGIN{RS="[/\n]"}NR==3‘
c
方法二十一
[wxr@oldboy shell]$ echo $a|cut -d/ -f3   ##上海-龚小逸N
c
方法二十二
[wxr@oldboy shell]$ echo ${a:4}			##北京-徐富成
c
方法二十三
[wxr@oldboy shell]$ echo ${a##*/}			##北京-徐富成
c
方法二十四
[wxr@oldboy shell]$ echo $a |tr "/" "\n"|awk ‘NR==3‘
c
方法二十五
[wxr@oldboy shell]$ echo ${a:4:1}			##上海-龚小逸	
c
方法二十六
[wxr@oldboy shell]$ echo ${a##a/b/}  		##北京-刘晓涛
c


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。