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

shell scott 225℃ 0评论
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
##########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

转载请注明:osetc.com » shell: linux shell取变量的子串26种方法实践

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址