第6周复习课(5月2日)

课程内容:

复习
扩展
1、打印某行到某行之间的内容http://ask.apelearn.com/question/559
2、sed转换大小写 http://ask.apelearn.com/question/7758
3、sed在某一行最后添加一个数字http://ask.apelearn.com/question/288
4、删除某行到最后一行 http://ask.apelearn.com/question/213
5、打印1到100行含某个字符串的行 http://ask.apelearn.com/question/1048

1、打印某行到某行之间的内容http://ask.apelearn.com/question/559

例如:有个文件test的内容如下:
ert
fff
**
[abcfd]
123
324
444
[rty]
**
fgfgf
怎么能截取
[abcfd]
123
324
444
[rty]
这一部分出来呢?

解答:

直接vim一个test.txt或者touch test.txt,然后vim test.txt粘贴内容保存并退出。

# sed -n '/\[abcfd\]/,/\[rty\]/p' test.txt 具体操作截取符合条件的内容

2、sed转换大小写 http://ask.apelearn.com/question/7758

sed中,使用\u表示大写,\l表示小写

新建yw.txt文件并编辑内容,可以先cat查看文件内容。

①把每个单词的第一个小写字母变大写

[root@jimmylinux-002 test]# sed 's/\b[a-z]/\u&/g' yw.txt

②把所有单词小写变大写

[root@jimmylinux-002 test]# sed 's/[a-z]/\u&/g' yw.txt

③把所有单词大写变小写

[root@jimmylinux-002 test]# sed 's/[A-Z]/\l&/g' yw.txt

3、sed在某一行最后添加一个数字http://ask.apelearn.com/question/288

源文件内容

[root@jimmylinux-002 test]# sed 's/\(^a.*\)/\1 12/' test1.txt

4、删除某行到最后一行 http://ask.apelearn.com/question/213

定义一个标签a,匹配c,然后N把下一行加到模式空间里,匹配最后一行时,才退出标签循环,然后命令d,把这个模式空间里的内容全部清除。

if 匹配"c"
:a
追加下一行
if 不匹配"$"
goto a
最后退出循环,d命令删除。

[root@jimmylinux-002 test]# sed '/c/{p;:a;N;$!ba;d}' test2.txt

5、打印1到100行含某个字符串的行 http://ask.apelearn.com/question/1048

这个需求,其实就是sed指定行范围匹配。

[root@jimmylinux-002 test]# sed -n '1,100{/abc/p}' a.txt

复习sed实例操作的更多相关文章

  1. sed实例精解--例说sed完整版

    原文地址:sed实例精解--例说sed完整版 作者:xiaozhenggang 最近在学习shell,怕学了后面忘了前面的就把学习和实验的过程记录下来了.这里是关于sed的,前面有三四篇分开的,现在都 ...

  2. [转]使用Xcode 4发布App 实例操作

    使用xcode 4发布app 实例操作是本文介绍的内容,不多说,我们直接进入话题. 1.iOS Provisioning Portal 和iTunes Connect 没有变,下载与安装.mobile ...

  3. Flashback Drop实例操作

    1.Flashback DropFlashback Drop 是从Oracle 10g 开始出现的,用于恢复用户误删除的对象(包括表,索引等), 这个技术依赖于Tablespace Recycle B ...

  4. 文本处理sed常用操作

    文本处理sed常用操作 linux sed (stream editor) is a Unix utility that parses and transforms text, using a sim ...

  5. 第11章:sed进阶操作

    第11章:sed进阶操作 sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法 sed命令行格式为 ...

  6. 058——VUE中vue-router之实例操作新闻列表单页面应用与路由别名的使用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 040——VUE中组件之组件间的数据参props的使用实例操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 034——VUE中表单控件处理之使用vue控制radio表单的实例操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. php5.4以上 mysqli 实例操作mysql 增,删,改,查

    <?php //php5.4以上 mysqli 实例操作mysql header("Content-type:text/html;charset=utf8"); $conn ...

随机推荐

  1. 图片瀑布流,so easy!

    什么是图片瀑布流 用一张花瓣网页的图片布局可以很清楚看出图片瀑布流的样子: 简单来说,就是有很多图片平铺在页面上,每张图片的宽度相同,但是高度不同,这样错落有致的排列出 n 列的样子很像瀑布,于是就有 ...

  2. 相关推导式-Python

    列表.’字典等推导式 #利用zip()函数同时给多个变量赋值 a = [1,2,3,4,5] b = [4,5,6,7,8] c = [9,2,3,4,0] l = [[1,2],[3,4]] for ...

  3. [BZOJ2821][Luogu4135] 作诗

    由于BZOJ这题要contact lydsy2012@163.com,所以就放个洛谷的传送门(我木有BZOJ权限号啊0.0) 诶?这不是莫队裸题?? 等等--这题强制在线欸,没办法莫队了,肿么破? 之 ...

  4. 【ObjectC—浅copy和深copy】

    一.OC设计copy的目的 为了能够从源对象copy一个新的对象副本,改变新对象(副本)的时候,不会影响到原来的对象. 二.实现copy协议 OC提供了两种copy方法:copy和mutableCop ...

  5. 在linux用ueditor遇到的问题

    在使用ueditor时,遇到很多问题.最大问题是就是服务器返回出错 最让人头疼的是preview没有任何信息.之前也找过很多的资料,很多资料都没有提到修改controller.php文件中error_ ...

  6. Linux JDK 安装与配置

    一.下载 JDK 官网链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 系 ...

  7. php sublime常用插件

    php sublime常用插件 1 Sublime Text的默认设置是不开启显示编码的,如果想开启,可通过菜单Perference → Settings – User,在打开的配置文件里 ,在大括号 ...

  8. containerd 与安全沙箱的 Kubernetes 初体验

    作者 | 易立  阿里云资深技术专家 containerd 是一个开源的行业标准容器运行时,关注于简单.稳定和可移植,同时支持 Linux 和 Windows. 2016 年 12 月 14 日,Do ...

  9. poj 1679 The Unique MST (次小生成树(sec_mst)【kruskal】)

    The Unique MST Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 35999   Accepted: 13145 ...

  10. markdown总结 (webstrom快捷键)

    # 在HbuilderX中写markdown(WebStrom快捷键配置)0. 一些快捷键和鼠标操作:1. ctrl+shift+↑  当前行或者选中的块整体向上移动  ↓同理2. 向两侧扩大选择:A ...