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

简介:

1.题目

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

2.参考答案

系统环境

[root@shell ~]# uname -r2.6.32-504.el6.x86_64
[root@shell ~]# cat /etc/redhat-releaseCentOS release 6.6 (Final)
[root@shell ~]# a='a/b/c'

方法1-cut

[root@shell ~]# echo $a | cut -c5c

方法2-tr替换

[root@shell ~]# echo $a | tr "a/b/" "    "   <==四个空格c

方法3-tr+tail方法

[root@shell ~]# echo $a | tr "/" "\n"|tail -1c
```language

方法4-tr删除

[root@shell ~]# echo $a | tr -d 'a/b/'c

方法5-rev+head

[root@shell ~]# echo $a | rev |head -c1c

方法6-rev+cut

[root@shell ~]# echo $a | rev |cut -c1c

方法7-grep-o参数

[root@shell ~]# echo $a | grep -o "[a-z]$"c

方法8-grep正则排除

[root@shell ~]# echo $a | grep -o "[^ab/]"c

方法9-sed替换

[root@shell ~]# echo $a | sed  's#.*/##'c

方法10-sed命令的1对1替换

[root@shell ~]# echo $a | sed 'y#a/b/#    #' <==四个空格c

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

[root@shell ~]# echo $a | sed -r 's#....(.)#\1#'c

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

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

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

[root@shell ~]# echo $a | awk -F/ '{print $NF}'c

方法14-awk-gsub函数-查找替换

[root@shell ~]# echo $a | awk '{gsub(".*/","",$0);print}'c
[root@show01 ~]# echo $a | awk '{gsub(".*/","",$0)}1'c

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

[root@shell ~]# echo $a | awk '{split($0,array,"/");print array[3]}'c

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

[root@shell ~]# echo $a | awk '{split($0,array,"a/b/");print array[2]}'c

方法17-awk-sub替换

[root@shell ~]# echo $a | awk '{sub(/[^c]+/,"");print}'c

方法18-gsub替换-替换为空格或回车

[root@shell ~]# echo $a | awk '{gsub("/","\n");print $3}'c

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

[root@shell ~]# echo $a | awk '{print substr($0,5,1) }'c

方法20-awk-修改RS记录分隔符

[root@shell ~]# echo $a | awk  'BEGIN{RS="[/\n]"}NR==3'c
[root@show01 ~]#  echo $a | awk  -vRS="[/\n]" 'NR==3'c

方法21-cut指定分隔符

[root@shell ~]# echo $a|cut -d/ -f3c

方法22-shell字符串截取

[root@shell ~]# echo ${a:4}c

方法23-shell字符串替换

[root@shell ~]# echo ${a##*/}  c

方法24-tr+awk

[root@shell ~]# echo $a |tr "/" "\n"|awk 'NR==3'c

方法25-shell字符串截取

[root@shell ~]# echo ${a:4:1} c

方法26-shell字符串替换

[root@shell ~]# echo ${a##a/b/}c

QQ群回答

[root@shell ~]# basename $a  # 把a/b/c当作系统路径处理
c
[root@zyops ~]# echo $a | grep -o '[[:alpha:]]$' 
c

3.统计信息

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

对于题目和答案的任何疑问,请在博客评论区留言
往期题目索引

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


本文转自 李导 51CTO博客,原文链接:http://blog.51cto.com/lidao/1928358

相关文章
|
8月前
|
搜索推荐
代码分享|GPL平台没有基因注释什么办?别慌,基因ID注释万能公式!
本文介绍了处理无基因注释的GEO数据集的方法。当遇到GPL平台无基因注释时,可以通过以下步骤解决:1) 查看数据集补充文件中是否已有注释矩阵;2) 使用搜索引擎或官网查找相关资源;3) 如数据集较新,尝试联系平台官方;4) 利用已有经验进行转换。文中通过多个GSE示例详细解释了如何处理不同情况,并提醒读者注意检查数据集中可能隐藏的注释信息。作者提供了转换ID的代码,并在公众号“多线程核糖体”分享了相关资源。
803 0
|
编译器 Go C语言
自制操作系统日记(8):变量显示
上篇中,我们显示了静态的字符串在桌面上,本篇进一步探索,能将定义的整型变量的值显示在桌面上
|
Unix Shell Linux
shell中的运算(小说总是善良的让错过的人再相遇)
shell中的运算(小说总是善良的让错过的人再相遇)
104 0
shell中的运算(小说总是善良的让错过的人再相遇)
【CCCC】L2-029 特立独行的幸福 (25分),模拟题,set用法
【CCCC】L2-029 特立独行的幸福 (25分),模拟题,set用法
187 0

热门文章

最新文章