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

1.题目

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

时间: 2024-10-21 17:41:49

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

老男孩教育每日一题-2017年3月22日:请说明用户访问网站流程

本题目也可以说为: 描述从浏览器打开http://www.oldboyedu.com地址回车发送请求到看到页面的过程? 打开浏览器输入网址回车,到看到页面的过程 大纲: 1.用户访问网站流程框架 2.DNS解析原理 ***** 3.tcp/ip三次握手原理 ***** 4.http协议原理(www服务的请求过程)请求报文细节! 5.大规模网站集群架构细节. 6.http协议原理(www服务的响应过程)响应报文细节! 7.tcp/ip四次挥手过程原理 ***** , 当我们打开浏览器输入网址回车,

老男孩教育每日一题-2017年5月9日-vim命令粘贴带#号或注释信息格式会出现混乱情况怎么办

1.题目 老男孩教育每日一题-2017年5月9日-vim编辑器使用知识点:vim命令粘贴带#号或注释信息格式会出现混乱情况,有什么方法进行解决?问题说明:每次复制代码时,如果代码里有 //或# 这样的注释就容易让格式乱掉,显示的内容不整齐,并不是所期望的显示格式. 2.参考答案 原因分析: 是由于vim编辑命令的自动缩进功能所影响,因此粘贴带注释的代码时可以取消自动缩进 问题解决: vim在粘贴代码时会自动缩进,把代码搞得一团糟糕,甚至可能因为某行的一个注释造成后面的代码全部被注释掉:最初的解决

老男孩教育每日一题-2017年5月4日-有一个oldboy.txt文件,把里面所有字母都转换成大写

老男孩教育每日一题-2017年5月4日-有一个oldboy.txt文件,把里面所有字母都转换成大写 文件内容如下: [[email protected] oldboy]# cat oldboy.txt  oldboy.blog.51cto.com www.oldboyedu.com 方法一:sed [[email protected] oldboy]# sed 's#[a-z]#\u&#g' oldboy.txt OLDBOY.BLOG.51CTO.COM WWW.OLDBOYEDU.COM 方

老男孩教育每日一题-2017年5月2日-Linux系统中,不小心把chmod命令的权限弄没了,怎么解决?

老男孩教育每日一题-2017年5月2日-Linux系统中,chmod命令没有执行权限(x权限)或者chmod命令文件的权限为000,怎么解决? 解决方法有两种: 方法一: [[email protected] bin]# cp cp /oldboy/chmod.new (此时复制cp命令文件命名叫chmod.new,此时chmod.new文件有就x的权限,但chmod.new不具备有chmod命令的共功能) [[email protected] bin]# cd /oldboy/ [[email

老男孩教育每日一题-2017年05月23日-一个100M的分区,写入0.5K的,或写入1M的,可以写多少?

1.题目 老男孩教育每日一题-2017年05月23日-一个100M的磁盘分区,写入0.5K的文件,或写入1M的文件,分别可以写多少个?为什么? 2.参考答案 一个100M的磁盘分区,写入0.5K的文件,或写入1M的文件,分别可以写多少个?为什么?错误解答:很容易计算1K的个数:100*1000=100000个,1M文件的个数:100/1=100个 解答思想:先答几点知识 a.上面的考试题考察的是文件系统inode和block知识.b.inode是存放文件属性信息的(也包含指向文件实体的指针),默

老男孩教育每日一题-2017年5月8日-请根据以下数字信息,确认相应的端口号,端口号对应的服务名称

1.题目 老男孩教育每日一题-2017年5月8日-网络服务知识点:请根据以下数字信息,确认相应的端口号,端口号对应的服务名称,以及服务主要的作用(简要说明即可) 202122232567686980110111161 2.参考答案 端口号 端口号对应服务名称 服务作用说明 20/21(TCP) FTP服务端口 20端口为FTP传输数据用 21端口为FTP传输控制信息 文件传输协议(File Transfer Protocol) 由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议

老男孩教育每日一题-2017年4月27日-如何正确清理MySQL binlog?

老男孩教育每日一题-2017年4月27日-如何正确清理MySQL binlog? 今天是每日一题陪伴大家的第37天,期待你的进步. 对于题目和答案的任何疑问,请在博客评论区留言. 往期题目索引 http://lidao.blog.51cto.com/3388056/1914205

老男孩教育每日一题-2017年5月7日-加餐-linux下面如何实现,执行rm命令,就显示do not use rm command

1.题目-老男孩教育每日一题-2017年5月7日-加餐-linux下面如何实现,执行rm命令,就显示do not use rm command 2.要求结果 [[email protected] ~]# rm do not use rm command 3.答案 这需要使用linux里面的别名 alias rm='echo do not use rm command' 注意: 上面命令还要放入到/etc/profile里面永久生效 4.详细过程 第一个里程碑-如何显示这行文字 [[email p

老男孩教育每日一题-2017年5月17日-使用三剑客进行变化格式

1.题目 原始数据: 17/Apr/2015:09:29:24 +0800 17/Apr/2015:09:30:26 +0800 17/Apr/2015:09:31:56 +0800 18/Apr/2015:09:34:12 +0800 18/Apr/2015:09:35:23 +0800 19/Apr/2015:09:23:34 +0800 19/Apr/2015:09:22:21 +0800 20/Apr/2015:09:45:22 +0800 期望结果: 2015-04-17 09:29: