首页 > 系统服务 > 详细

Linux三剑客之sed

时间:2020-04-30 17:03:26      阅读:53      评论:0      收藏:0      [点我收藏+]

处理文本文件的命令

参数说明

  • -e<script>或--expression=<script> 以选项中指定的脚本来处理输入的文本文件。
  • -f<script文件>或--file=<script文件> 以选项中指定的脚本文件来处理输入的文本文件。
  • -h或--help 显示帮助。
  • -n或--quiet或--silent 仅显示脚本处理后的结果。
  • -V或--version 显示版本信息。

动作说明

  • a :新增, a 的后面可以接字符串,而这些字串会在新的一行出现(目前的下一行)
  • c :取代, c 的后面可以接字符串,这些字串可以取代 n1,n2 之间的行!
  • d :删除,d 后面通常不接任何字符串;
  • i :插入, i 的后面可以接字符串,而这些字串会在新的一行出现(目前的上一行);
  • p :打印,将某个选择的数据印出。通常 p 会与参数 sed -n 一起使用
  • s :取代,搭配正规使用,例如 1,20s/old/new/g

案例

在testfile文件的第四行后添加一行,-e参数可省略

[root@tz shell]# sed -e 4a\newLine testfile
HELLO LINUX!
Linux is a free unix-type opterating system.
This is a linux testfile!
Linux test
newLine

删除2~5行

[root@tz shell]# nl /etc/passwd |sed ‘2,5d‘
     1  root:x:0:0:root:/root:/bin/bash
     6  sync:x:5:0:sync:/sbin:/bin/sync
     7  shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
     8  halt:x:7:0:halt:/sbin:/sbin/halt
     9  mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

删除第二行

[root@tz shell]# nl /etc/passwd | sed ‘2d‘

删除第3行到最后一行

[root@tz shell]# nl /etc/passwd |sed ‘3,$d‘
     1  root:x:0:0:root:/root:/bin/bash
     2  bin:x:1:1:bin:/bin:/sbin/nologin

第2行后插入drink tea

[root@tz shell]# nl /etc/passwd | sed ‘2a drink tea‘
     1  root:x:0:0:root:/root:/bin/bash
     2  bin:x:1:1:bin:/bin:/sbin/nologin
drink tea
     3  daemon:x:2:2:daemon:/sbin:/sbin/nologin

第2行前插入drink tea

[root@tz shell]# nl /etc/passwd |sed ‘2i drink tea‘
     1  root:x:0:0:root:/root:/bin/bash
drink tea
     2  bin:x:1:1:bin:/bin:/sbin/nologin

第2行增加两行

[root@tz shell]# nl /etc/passwd | sed ‘2a Drink tea or .....> drink beer ?‘
     1  root:x:0:0:root:/root:/bin/bash
     2  bin:x:1:1:bin:/bin:/sbin/nologin
Drink tea or .....
drink beer ?
     3  daemon:x:2:2:daemon:/sbin:/sbin/nologin






学习来自菜鸟教程

Linux三剑客之sed

原文:https://www.cnblogs.com/tz90/p/12809528.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!