码迷,mamicode.com
首页 > 其他好文 > 详细

学习笔记之一:学习中好的试题

时间:2016-06-05 01:17:46      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:试题讲解

1、已知如下命令结果:

[root@www ~]# echo "I am oldboy myqq is 48939492" >>oldboy.txt

[root@www ~]# cat oldboy.txt 

I am oldboy myqq is 48939492

现在需要从文件中过滤“oldboy”和“48939492”字符串

解答:

  方法1:

[root@www ~]# awk -F " " ‘{print $3,$6}‘ oldboy.txt  -->F:指定分隔符
oldboy 48939492

  方法2:

[root@www ~]# cut -d" " -f3,6 oldboy.txt -->-d选项是:指定分隔符
 oldboy 48939492

  方法3:

[root@www ~]# cut -c 6-11,20- oldboy.txt -->使用cut的-c选项过滤出来,根据字符数匹配。
 oldboy 48939492

  方法4:

[root@www ~]# echo `grep -oE "oldboy|48939492" oldboy.txt` -->-E:代表使用扩展正则表达式
 oldboy 48939492

  或者:

[root@www ~]# echo `egrep -o "oldboy|48939492" oldboy.txt` -->grep -E等于 egrep
 oldboy 48939492

  方法5:

[root@www ~]# sed -r ‘s#.*(oldboy).*(48939492)#\1 \2#g‘ oldboy.txt -->使用sed后相引用,-r代表使用扩展正则表达式
oldboy 48939492
或者:
[root@www ~]# sed ‘s#.*\(oldboy\).*\(48939492\)#\1 \2#g‘ oldboy.txt
oldboy  48939492

2、已知如下命令结果:

[root@www ~]# cat oldboy.txt 

I am oldboy,myqq is 48939492

现在需要从文件中过滤“oldboy”和“48939492”字符串

解答:

   方法1:

[root@www ~]# cut -c 6-11,20- oldboy.txt 
 oldboy 48939492

   方法2:

[root@www ~]# sed ‘s#,# #g‘ oldboy.txt|cut -d " " -f3,6
 oldboy 48939492

   方法3:

 [root@www ~]# awk -F "[ ,]" ‘{print $3,$6}‘ oldboy.txt -->这里使用多个分隔符
  oldboy 48939492

   方法4:

[root@www ~]# echo `grep -oE "oldboy|48939492" oldboy.txt`
 oldboy 48939492
 或者:
 [root@www ~]# echo `egrep -o "oldboy|48939492" oldboy.txt`
 oldboy 48939492

   方法5:

 [root@www ~]# sed ‘s#.*\(oldboy\).*\(48939492\)#\1 \2#g‘ oldboy.txt
 oldboy 48939492
 或者:
 [root@www ~]# sed -r ‘s#.*(oldboy).*(48939492)#\1 \2#g‘ oldboy.txt
 oldboy 48939492


本文出自 “小曾” 博客,请务必保留此出处http://zengxin.blog.51cto.com/6098070/1786154

学习笔记之一:学习中好的试题

标签:试题讲解

原文地址:http://zengxin.blog.51cto.com/6098070/1786154

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!