shell: 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
 

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

You might also like:

Sidebar