一. 以行为单位进行操作。

d:删除

$ nl passwd | sed '2,5d'  # 删除第2~5行

$ nl passwd | sed '2d'  # 删除第2行

$ nl passwd | sed '3,$d'  # 删除第3行到最后一行

a: 之后,i: 之前添加

$ nl passwd | sed '2a drink tea'  # 在第2行后添加内容

$ nl passwd | sed '2i drink tea'

\: 添加多行

键入'\'后再键入'Enter'

c: 替换

$ nl passwd | sed '2,5c No 2-5 number'  # 把第2~5行替换

p: 显示

$ nl passwd | sed -n '5,7p'  # 其中-n表示quite模式,

二. 部分数据的搜索并替换

sed 's/要被替换的字符串/新的字符串/g'

删掉'inet '及其之前的内容

$ cat sed_file | grep 'inet '

$ cat sed_file | grep 'inet ' | sed 's/^.*inet //g'

删掉' netmask'及其之后的内容

注意第1种用法不对,被匹配字符串并不是以' netmask'开头,而是在IP之后,还是对'^'和'$'理解不到位。

$ cat sed_file | grep 'inet ' | sed 's/^.*inet //g' | sed 's/ *netmask.*//g'

删掉注释行和空行

$ cat sed_file | sed 's/#.*$//g'  # 把注释行替换为空行

$ cat sed_file | sed 's/#.*$//g' | sed '/^$/d'  # 删掉空行

-i: 直接修改文件内容

$ sed -i 's/\.$/\!/g' regular_express.txt  # 把'.'改为'!'

$ sed -i '$a This is a test' regular_express.txt  # 在文件结尾添加一行

-e: 如果sed后面含有两个以上的指令,需要在每个指令前面加上'-e' ,否则报错

$ cat passwd | sed -e '4d' -e '6c no six line'  # 删掉第4行并替换第6行。 注意:得到的结果是在新文件中,被替换的行显示为第5行,因为之前删掉了一行

sed的优势:

有一个100万行的文件,如果要在第100行加入某些文字,此时使用vim会疯掉,因为文件太大了,可以通过sed命令直接修改或替换。

Linux命令 sed的更多相关文章

  1. Linux命令sed

    如果一个文本文件数据比较多,大概有40万条数据,我想取出第500-1000条数据,保存到另一个文件,用linux命令该如何操作? sed -n '500,1000p' 41w.txt > new ...

  2. linux 命令--sed

    简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中的内容,处 ...

  3. linux 命令 — sed

    sed stream editor,流编辑器 查找替换 sed 's/pattern/replace_string/' file 替换每一行第一次出现的pattern,将替换后的文本输出到stdout ...

  4.  linux命令sed与awk是干什么用的,怎么用?

    非常强大的文本操纵工具,sed,awk,grep 这个三个命令 都是操作文本文件的unix系统有几个非常命令的特点:1. 对于内核而言,unix文件都是字节序列.io设备也是文件.2. 至于文件的含义 ...

  5. linux命令sed学习笔记

    sed其实就是两个主要的知识点,那就是“怎么选择”和“怎么操作”!

  6. linux命令-sed,uniq,cut,wc

    sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序. sort语法 ...

  7. (转载)linux命令-sed

    原文地址:https://www.cnblogs.com/zhangzongjian/p/10708222.html

  8. <转>如何利用多核CPU来加速你的Linux命令 — awk, sed, bzip2, grep, wc等

    原文链接:http://www.vaikan.com/use-multiple-cpu-cores-with-your-linux-commands/ 你是否曾经有过要计算一个非常大的数据(几百GB) ...

  9. 《sed的流艺术之四》-linux命令五分钟系列之二十四

    本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...

随机推荐

  1. Javascript 函数声明、函数表达式与匿名函数自执行表达式

    函数表达式(Function Expression)注:将函数定义为表达式语句(通常是变量赋值)的一部分 //func() 错误 var func = function () { } //func() ...

  2. ionic cordova plugin 安装和使用

    注意事项 ionic1需要ng-cordova plugin的使用都需要放到deviceready事件的回调中, 设备准备好了才能设备交互 plugin只有在真机上才有效果, 模拟器(部分)和brow ...

  3. 每天一个linux命令:find

    1.命令简介         find(find) 命令用来在指定目录下查找文件.任何位于参数之前的字符串都将被视为欲查找的目录名.如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子 ...

  4. sort is deprecated, use sort_values(inplace=True) for INPLACE sorting

    排序是过时的,用sort_values(到位=真)为就地排序

  5. mingw 构建 gdal 2.1.2

    目录 1.准备 2.生成Makefile 3.编译 4.编译遇到错误及解决办法 1.生成静态库时候ar提示参数列表太长 2.生成动态库时候g++提示参数列表太长 前两日有人在oschian上问我min ...

  6. 使用Træfɪk(traefik)来加速Qt在线更新

    简述 在使用Qt的MaintenanceTool程序进行在线更新的时候遇到一个问题,就是访问download.qt.io实在太慢了,老是失败.所以想使用国内的镜像站来进行更新. 使用Qt的镜像站方法也 ...

  7. 阿里云 CentOS7 安装 Nginx 后,无法访问的问题

    在阿里云实例中,选择 网络与安全中的安全组.修改安全组规则. 例如:   但是还是不行 需要这样排查 netstat -anp | grep 80 iptables -L -n   firewall- ...

  8. MySql 三大知识点——索引、锁、事务

    1. 索引 索引,类似书籍的目录,可以根据目录的某个页码立即找到对应的内容. 索引的优点:1. 天生排序.2. 快速查找.索引的缺点:1. 占用空间.2. 降低更新表的速度. 注意点:小表使用全表扫描 ...

  9. Vue Resource root options not used?

    I specify a root options in my Vue-Resource in my main.js file, but when I do the request, it does n ...

  10. iOS强制横屏或强制竖屏

    原文链接 https://www.jianshu.com/p/d6cb54d2eaa1 亲测第二种我这边是阔以滴 第一种解决方案(不推荐,直接跳过看第二种解决方案): //强制转屏 - (void)i ...