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

shell scott 353℃ 0评论

[cc lang=”python”]
##########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
[/cc]

原文:http://oldboy.blog.51cto.com/2561410/1636006

转载请注明:OSETC 技术网 » shell: linux shell取变量的子串26种方法实践

喜欢 (0)or分享 (0)

您必须 登录 才能发表评论!