2019独角兽企业重金招聘Python工程师标准>>>

  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

sed命令扩展

打印文件中特定的某行到某行之间的内容

/root/sed/test 文件的内容如下:

[root@greenfinch sed]# cat test
ert
fff
**[abcfd]
123
324
444
[rty]

要求打印以[abcfd]开头的行和[rty]所在行之间的内容。使用命令:

[root@greenfinch sed]# sed -n '/\[abcfd\]/,/\[try\]/p' test
[abcfd]
123
324
444
[rty]

转换大小写字母

  1. 把每个单词的第一个小写字母变大写:
[root@greenfinch sed]# sed 's/\b[a-z]/\u&/g' test.txt
Root:X:0:0:Root:/Root:/Bin/Bash
Bin:X:1:1:Bin:/Bin:/Sbin/NOLOGIN
Daemon:X:2:2:Daemon:/Sbin:/Sbin/Nologin
AdsfdsfsdfdfsBUs
Adm:X:3:4:Adm:/Var/Adm:/Sbin/Nologin
Lp:X:4:7:Lp:/Var/Spool/Lpd:/Sbin/Nologin
Sync:X:5:0:Sync:/Sbin:/Bin/Sync
Shutdown:X:6:0:Shutdown:/Sbin:/Sbin/Shutdown
Halt:X:7:0:Halt:/Sbin:/Sbin/Halt
Mail:X:8:12:Mail:/Var/Spool/Mail:/Sbin/Nologin
Operator:X:11:0:Operator:/Root:/Sbin/Nologin
Games:X:12:100:Games:/Usr/Games:/Sbin/Nologin
  1. 把所有小写变大写:
[root@greenfinch sed]# sed 's/[a-z]/\u&/g' test.txt
ROOT:X:0:0:ROOT:/ROOT:/BIN/BASH
BIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN
DAEMON:X:2:2:DAEMON:/SBIN:/SBIN/NOLOGIN
ADSFDSFSDFDFSBUS
ADM:X:3:4:ADM:/VAR/ADM:/SBIN/NOLOGIN
LP:X:4:7:LP:/VAR/SPOOL/LPD:/SBIN/NOLOGIN
SYNC:X:5:0:SYNC:/SBIN:/BIN/SYNC
SHUTDOWN:X:6:0:SHUTDOWN:/SBIN:/SBIN/SHUTDOWN
HALT:X:7:0:HALT:/SBIN:/SBIN/HALT
MAIL:X:8:12:MAIL:/VAR/SPOOL/MAIL:/SBIN/NOLOGIN
OPERATOR:X:11:0:OPERATOR:/ROOT:/SBIN/NOLOGIN
GAMES:X:12:100:GAMES:/USR/GAMES:/SBIN/NOLOGIN
  1. 大写变小写:
[root@greenfinch sed]# sed 's/[A-Z]/\|&/g' test.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/|N|O|L|O|G|I|N
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adsfdsfsdfdfs|B|Us
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:|F|T|P |User:/var/ftp:/sbin/nologin
nobody:x:99:99:|Nobody:/:/sbin/nologin
systemd-bus-proxy:x:999:997:systemd |Bus |Proxy:/:/sbin/nologin
systemd-network:x:192:192:systemd |Network |Management:/:/sbin/nologin
dbus:x:81:81:|System message bus:/:/sbin/nologin

在文件中某一行最后添加一个数字

[root@greenfinch sed]# sed 's/\(^u.*\)/\1 88888/' test.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/NOLOGIN
daemon:x:2:2:daemon:/sbin:/sbin/nologin
user1:x:1002:1002::/hoome/user1:/bin/bash 88888
user2:x:1003:1003::/hooome/user2:/bin/bash 88888
user3:x:1004:1004::/hoooooome/user3:/bin/bash 88888

删除某关键字的下一行到最后一行

[root@greenfinch sed]# head -n7 test.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/NOLOGIN
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adsfdsfsdfdfsBUs
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync[root@greenfinch sed]# sed '/adsfds/{p; :a; N; $!ba; d}' test.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/NOLOGIN
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adsfdsfsdfdfsBUs

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

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

打印1到100行包含某个字符串的行

[root@greenfinch sed]# sed -n '1,100{/finch/p}' test.txt
greenfinch:x:1000:1000::/home/greenfinch:/bin/bash

转载于:https://my.oschina.net/greenfinch/blog/1609356

第6周第4课:复习及扩展知识相关推荐

  1. 大学计算机系一周上几节课,大学生晒课程表,一周45节课无双休,三个专业是满课重灾区...

    原标题:大学生晒课程表,一周45节课无双休,三个专业是满课重灾区 "等你们上了大学就轻松了."对于诸位高中生和大学生来说,这句话是不是相当熟悉?然而如果让大学生为学弟学妹送出一句忠 ...

  2. 三周第二次课(12月26)

    三周第二次课(12月26)  3.4 usermod命令 usermod 更改用户属性 usermod -u 111 username 更改用户uid usermod -g 123(grp2) use ...

  3. 中南大学计算机网课网址,中南大学计算机网课复习要点.doc

    中南大学计算机网课复习要点 计算机网络课复习要点 第一章 绪论 1.计算机网络体系结构OSI模型产生在协议发明之前,没有偏向于任何特定的协议,非常通用.而TCP/IP模型却正好相反.(3)层的数量不同 ...

  4. 中南大学计算机网.doc,中南大学计算机的网络课复习要点.doc

    中南大学计算机的网络课复习要点.doc 计算机网络课复习要点 第一章 绪论 1.计算机网络体系结构OSI模型产生在协议发明之前,没有偏向于任何特定的协议,非常通用.而TCP/IP模型却正好相反.(3) ...

  5. 《Adobe InDesign CS5中文版经典教程》—第1课复习

    本节书摘来自异步社区<Adobe InDesign CS5中文版经典教程>一书中的第1课复习,作者[美]Adobe公司,更多章节内容可以访问云栖社区"异步社区"公众号查 ...

  6. 第三周(CoreIDRAW课总结)

    第三周(CoreIDRAW课总结) 1.这节课学到了什么知识? 对CorelDRAW的一些形状工具的使用,手机草图的设计. 2.有哪些心德体会? CorelDRAW可以制作的形状很多. 3.这节课存在 ...

  7. 免费计算机维修基础教程,《计算机组装与维修基础教程》第1课:计算机基础知识.ppt...

    <<计算机组装与维修基础教程>第1课:计算机基础知识.ppt>由会员分享,提供在线免费全文阅读可下载,此文档格式为ppt,更多相关<<计算机组装与维修基础教程> ...

  8. 第一节课的Python基础知识

    第一节课的Python基础知识 Python内置的数据类型 1.number 2.string 3.list 4.tuple 5.dict 6.set 其他小结 方法range()的使用 获取一个li ...

  9. 青少年编程python一节课多长时间_10节免费少儿编程微课:Python基础知识微课

    课程介绍课程名称:Python基础知识微课(10节) 课程内容:通过对Python基础知识的讲解,教孩子们学会使用海龟编辑器进行编程,了解Python的基础知识,学完课程之后,孩子们可以用海龟编辑器快 ...

最新文章

  1. tf2运行YOLOv4(tflite)
  2. boost::contract模块没有宏实现base types的测试程序
  3. Perl 面对对象的案例理解
  4. MySQL创建字段+数据处理函数+汇总数据(聚集函数)+分组数据
  5. 华为手机截屏怎么截长图_华为手机5种常用截屏方式,教你轻松定格屏幕精彩瞬间...
  6. PHP Windows系统下调用OpenOffice
  7. JSP+JavaBean+Servlet工作原理实例讲解
  8. 2008 r2 php mysql_Win2008 R2 IIS7.5+PHP5(FastCGI)+MySQL5环境搭建教程
  9. KNN分类USPS, USI sonar及USI iris
  10. 网络营销4p营销策略
  11. jekyll 完整安装教程
  12. 使用 css 创建 3D 效果的 书籍
  13. 二层和三层、四层交换机工作原理
  14. 苹果手机home键在哪里_苹果手机为什么没有返回键? 原来隐藏着更好的方法, 涨知识了...
  15. android分辨率2k3k4k,android 不同分辨率适配
  16. Yii-- 应用(Applications)
  17. Android 网络图片,gif 下载并保存到相册
  18. java与单片机通信_Java实现串口通信与单片机通信实例..【Pnoter】
  19. linux中释放sweep分区,详解Windows系统中如何释放C盘空间
  20. python3小项目——爬取招聘信息(智联招聘)

热门文章

  1. python 归并排序(详解)
  2. python mql4_可以转发文章不?老外用随机森林预测外汇分钟涨跌准确率高达85%。求高手用python重写。...
  3. python应用:最长无重复字串提取
  4. 2020-12-07 Halcon初学者知识【2】打开图像和显示
  5. 从S3获取数据在html表示,AWS Lambda从DynamoDB加载内容,以S3格式显示在HTML中(示例代码)...
  6. 关于MySQL数据库游标的笔试题_关于BAT20180825版本面试中常见数据库面试25道试题及对应答案整理汇总...
  7. linux shell判断文件、目录是否存在并移动到指定位置
  8. 我的世界服务器物品绑定插件,我的世界灵魂绑定插件详解
  9. matlab需要多大运存_提高matlab运行效率
  10. python 多进程绑定端口_Python教程之创建多进程