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/}        ##北京-刘晓涛

分割线
感谢打赏
江西数库信息技术有限公司
YWSOS.COM 平台代运维解决方案
 评论
 发表评论
姓   名:

Powered by AKCMS