1. 程式人生 > >老男孩教育每日一題-2017年5月22日-命令風暴:變量a=’a/b/c’如何截取得到c

老男孩教育每日一題-2017年5月22日-命令風暴:變量a=’a/b/c’如何截取得到c

linux三劍客 每日一題 取字符串

1.題目

老男孩教育每日一題-2017年5月22日-命令風暴:變量a=’a/b/c’如何截取得到c

2.參考答案

系統環境

[[email protected] ~]# uname -r2.6.32-504.el6.x86_64
[[email protected] ~]# cat /etc/redhat-releaseCentOS release 6.6 (Final)
[[email protected] ~]# a=‘a/b/c‘

方法1-cut

[[email protected] ~]# echo $a | cut -c5c

方法2-tr替換

[[email protected]
/* */ ~]# echo $a | tr "a/b/" " " <==四個空格c

方法3-tr+tail方法

[[email protected] ~]# echo $a | tr "/" "\n"|tail -1c
```language

方法4-tr刪除

[[email protected] ~]# echo $a | tr -d ‘a/b/‘c

方法5-rev+head

[[email protected] ~]# echo $a | rev |head -c1c

方法6-rev+cut

[[email protected] ~]# echo $a | rev |cut -c1c

方法7-grep-o參數

[[email protected] ~]# echo $a | grep -o "[a-z]$"c

方法8-grep正則排除

[[email protected] ~]# echo $a | grep -o "[^ab/]"c

方法9-sed替換

[[email protected] ~]# echo $a | sed  ‘s#.*/##‘c

方法10-sed命令的1對1替換

[[email protected] ~]# echo $a | sed ‘y#a/b/#    #‘ <==四個空格c

方法11-sed命令反向引用01

[[email protected] ~]# echo $a | sed -r ‘s#....(.)#\1#‘c

方法12-sed命令反向引用02

[[email protected] ~]# echo $a | sed -r ‘s#.*([a-z]$)#\1#’
c

方法13-awk分隔符(菜刀)

[[email protected] ~]# echo $a | awk -F/ ‘{print $NF}‘c

方法14-awk-gsub函數-查找替換

[[email protected] ~]# echo $a | awk ‘{gsub(".*/","",$0);print}‘c
[[email protected] ~]# echo $a | awk ‘{gsub(".*/","",$0)}1‘c

方法15-awk-split函數-切割1

[[email protected] ~]# echo $a | awk ‘{split($0,array,"/");print array[3]}‘c

方法16-awk-split函數-切割2

[[email protected] ~]# echo $a | awk ‘{split($0,array,"a/b/");print array[2]}‘c

方法17-awk-sub替換

[[email protected] ~]# echo $a | awk ‘{sub(/[^c]+/,"");print}‘c

方法18-gsub替換-替換為空格或回車

[[email protected] ~]# echo $a | awk ‘{gsub("/","\n");print $3}‘c

方法19-awk-substr函數-cut截取字符

[[email protected] ~]# echo $a | awk ‘{print substr($0,5,1) }‘c

方法20-awk-修改RS記錄分隔符

[[email protected] ~]# echo $a | awk  ‘BEGIN{RS="[/\n]"}NR==3‘c
[[email protected] ~]#  echo $a | awk  -vRS="[/\n]" ‘NR==3‘c

方法21-cut指定分隔符

[[email protected] ~]# echo $a|cut -d/ -f3c

方法22-shell字符串截取

[[email protected] ~]# echo ${a:4}c

方法23-shell字符串替換

[[email protected] ~]# echo ${a##*/}  c

方法24-tr+awk

[[email protected] ~]# echo $a |tr "/" "\n"|awk ‘NR==3‘c

方法25-shell字符串截取

[[email protected] ~]# echo ${a:4:1} c

方法26-shell字符串替換

[[email protected] ~]# echo ${a##a/b/}c

QQ群回答

[[email protected] ~]# basename $a  # 把a/b/c當作系統路徑處理
c
[[email protected] ~]# echo $a | grep -o ‘[[:alpha:]]$‘ 
c

3.統計信息

今天是每日一題陪伴大家的第55天期待你的進步

對於題目和答案的任何疑問,請在博客評論區留言
往期題目索引

http://lidao.blog.51cto.com/3388056/1914205

本文出自 “李導的博客” 博客,請務必保留此出處http://lidao.blog.51cto.com/3388056/1928358

老男孩教育每日一題-2017年5月22日-命令風暴:變量a=’a/b/c’如何截取得到c