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

1、已知如下命令结果:

[[email protected] ~]# echo "I am oldboy myqq is 48939492" >>oldboy.txt

[[email protected] ~]# cat oldboy.txt 

I am oldboy myqq is 48939492

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

解答:

方法1:

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

方法2:

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

方法3:

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

方法4:

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

或者:

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

方法5:

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

2、已知如下命令结果:

[[email protected] ~]# cat oldboy.txt 

I am oldboy,myqq is 48939492

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

解答:

方法1:

[[email protected] ~]# cut -c 6-11,20- oldboy.txt 
 oldboy 48939492

方法2:

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

方法3:

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

方法4:

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

方法5:

 [[email protected] ~]# sed ‘s#.*\(oldboy\).*\(48939492\)#\1 \2#g‘ oldboy.txt
 oldboy 48939492
 或者:
 [[email protected] ~]# sed -r ‘s#.*(oldboy).*(48939492)#\1 \2#g‘ oldboy.txt
 oldboy 48939492
时间: 2024-10-17 08:47:58

学习笔记之一:学习中好的试题的相关文章

MVC4 学习笔记 之 URL中存在编译的空格 20%20%

/Config/Edit/QQCC%20%20%20%20%20%20%20 原因是: 通过EF直接添加了空格? NO 是因为你的数据库字段设计问题,因为你当然设计如>:sID nchar(10) 那你一定想输入10个字符,但实际你只输入了必个,所以后面数据自动帮你补空了. 从EF数据库取出数据,在绑定的时候为安全,编码了,所以显示%20,代表一个空格. MVC4 学习笔记 之 URL中存在编译的空格 20%20%,布布扣,bubuko.com

Guava学习笔记:guava中的Preconditions使用

Guava学习笔记:guava中的Preconditions使用 转载:http://outofmemory.cn/java/guava/base/Preconditions google guava的base包中提供的Preconditions类用来方便的做参数的校验,他主要提供如下方法: checkArgument 接受一个boolean类型的参数和一个可选的errorMsg参数,这个方法用来判断参数是否符合某种条件,符合什么条件google guava不关心,在不符合条件时会抛出Illeg

【学习笔记】jQuery中的动画与效果

1.基本效果 匹配元素从左上角开始变浓变大或缩小到左上角变淡变小 ①隐藏元素 除了可以设置匹配元素的display:none外,可以用以下函数 hide(speed,[callback])  返回值:jQuery  参数-speed:三种预订速度之一的字符串String(slow,normal,fast)或表示动画时长的毫秒数Number  callback:在完成动画时执行的函数,每个匹配元素执行一次 slow=600毫秒  normal=400毫秒  fast=200毫秒 以优雅的动画隐藏所

Guava学习笔记:guava中对字符串的操作

Guava学习笔记:guava中对字符串的操作 转载:http://outofmemory.cn/java/guava/base/Strings 在google guava中为字符串操作提供了很大的便利,有老牌的判断字符串是否为空字符串或者为null,用指定字符填充字符串,以及拆分合并字符串,字符串匹配的判断等等. 下面我们逐一了解这些操作: 1. 使用com.google.common.base.Strings类的isNullOrEmpty(input)方法判断字符串是否为空        

Linux学习笔记——vmware plarer中安装ubuntu

1.前言 学习了很长时间ubuntu,在旧笔记中安装过lubuntu,也使用过他人安装好的ubuntu虚拟机(contiki2.6和contiki2.7).熟悉了ubuntu之后,决定自己尝试通过vmware player安装ubuntu. [1]vmware plaryer是免费软件,不存在破解问题.如果用来学习ubuntu完全足够了. [2]建议在虚拟机种学习ubuntu,等完全熟练之后再摆脱windows.ubuntu现在还没有有道笔记,QQ等工具,总感觉网上世界少了点什么. [3]在虚拟

cocos2dx学习笔记(4)——VS2010中的中文乱码问题

当你想使用中文时,你是否有这样的一个困惑. 把样例中的HelloWorld改成中文的 "你好,世界!". 然后编译运行,发现居然是个乱码!!! 因为cocos2dx中使用的是UTF-8字符集,而VS中确实ANSI. 所以我们需要对其进行字符集转换. 然后纵里寻它求百度,终于找到了解决方案. 一个函数搞定! #include "cocos2d.h" char* toUTF(const char* strGB2312) { int iLen = MultiByteToW

MySQL学习笔记-操作数据表中的记录

MySQL学习笔记-操作数据表中的记录 1.插入记录 INSERT INSERT [INTO] tbl_name [(col_name,...)] {VAULES|VALUE} ({expr|DEFAULT},...),(...),... 例,插入单条记录: mysql> USE testDatabase changed mysql> CREATE TABLE users(    -> id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,   

【JS学习笔记】js中关于传地址的问题

我觉得初学者应该会遇到很多这样的问题 条件1.不想定义全局变量的时候 条件2.定义了外围变量却又要引用并且修改其中内容的时候 以下转一篇文章 -------------------------------------------------------------------------------------------------------------------------------------------------------- 很多人,包括我,受书本知识消化不彻底的影响,认为 J

[学习笔记]面向对象开发中的一些思想和原则

摘自<Java与模式>作者阎宏 面向对象的可复用设计的第一块基石:开闭原则(一个软件实体应当对扩展开放,对修改关闭) "开-闭"原则的手段和工具: 1)里氏代换原则:任何基类出现的地方,子类一定可以出现: 2)依赖倒转原则:要依赖于抽象,不要依赖于实现: 3)合成\聚合复用原则:要尽量使用合成\聚合,而不是继承关系达到复用的目的: 4)迪米特法则:一个软件实体应该与尽可能少的其它实体发生相互作用: 5)接口隔离原则:应当为客户端提供尽可能小的单独的接口,而不要提供大的总接口

contiki-main.c 中的process系列函数学习笔记 &lt;contiki学习笔记之六&gt;

说明:本文依然依赖于 contiki/platform/native/contiki-main.c 文件. ------------------------------------------------------------------------------------------------------------------------------------- 根据上一个笔记里面添加的printf()语句的打印信息提示,hello world 打印是在执行了 1 autostart_