首页 > 其他 > 详细

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

时间:2016-06-05 01:16:20      阅读:148      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!