Linux命令之Sed

以行为单位的新增/删除

  • 删除
#删除2到5行
nl /etc/passwd  | sed '2,5d'
#删除第三行
nl /etc/passwd | sed '3d'
#删除从第三行开始到最后一行的行
nl /etc/passwd | sed '3,$d'
  • 新增

a->目标行后面添加,i ->目标行前面添加

nl /etc/passwd | sed '2a xuzhang' 
nl /etc/passwd | sed '2i xuzhang' 
#添加多行的话,每一行以\隔开就行
nl /etc/passwd | sed '2a xuzhang\
maitng'

以行为单位的替换与显示

  • c
nl /etc/passwd | sed '2,5c No 2-5 number'
output:
1 root:x:0:0:root:/root:/bin/bash
No 2-5 number
6 sync:x:5:0:sync:/sbin:/bin/sync
.....(后面省略).....
  • p
#打印5~7行
nl /etc/passwd | sed -n '5,7p'
#将匹配到root的行进行打印
nl /etc/passwd | sed '/root/p'

数据的搜寻并删除

#将有root的行进行删除。
nl /etc/passwd | sed '/root/d'

搜寻并执行命令

#搜寻含有root的行,替换bash成blueshell,并将其打印,多个命令的话,用花括号,并将命令以;隔开。
nl /etc/passwd | sed -n '/root/{s/bash/blueshell/;p}'

数据查找并进行替换

sed 's/要被取代的字串/新的字串/g',g代表全局替换。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • sed工具简介 用法:sed [-nefri] 动作参数:-n:使用安静模式(Silent)模式,一般在sed的...
    Bloo_m阅读 1,019评论 0 1
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,203评论 2 33
  • Linux sed命令是利用script来处理文本文件。sed可依照script的指令,来处理、编辑文本文件。Se...
    姜淑均阅读 736评论 1 2
  • 这里介绍3种方式: awk处理文本(最常用): 作用:awk对数据以行分析并生成报告时显得很强大,它将行进行切片,...
    cws阅读 473评论 0 8
  • 内核的引导(BIOS OS Read /boot 内核文件) - 运行init(所有进程的父进程 /etc/ini...
    时待吾阅读 608评论 0 1