官方定义:

  Linux sed命令是利用script来处理文本文件。

  sed可依照script的指令,来处理、编辑文本文件。

  Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

--

介绍动作属性-需要时回来查看就可以,不需要死记硬背

  a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~

  c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!

  d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;

  i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);

  p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~

  s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

--

文本的搜索并替换

  使用 sed 匹配文件内容,直接修改,注意这个会直接修改源文件。

  格式:

    sed -i "s/查找字段/替换字段/g" grep 查找字段 -rl 路径

  例如:

    1:  将文件1.txt内的文字“garden”替换成“mirGarden”

       # sed -i "s/garden/mirGarden/g" 1.txt   //sed -i 很简单
 
    2:  将当前目录下的所有文件内的“garden”替换成“mirGarden”
       # sed -i "s/garden/mirGarden/g" `ls` //其实也就是ls出多个文件名而已
 
--
以行为单位的新增和删除
 
  在平常文本中,我一般是使用vim进行编辑文本,但是如果有一个100W行的文件,vim岂不是原地爆炸了,sed命令可以很好的执行这些动作
  例如
   

将index.php 的内容列出并且列印行号,同时,请将第 2~5 行删除!

#:~/demo$ nl index.php | sed '2,5d'

  

  sed 的动作 '2,5d', d就是删除动作,所以删除了2-5行,需要注意的是,sed后面接的动作,必须以 '' 号扩住。

只要删除第 2 行

#~/demo$ nl index.php | sed '2d'

要删除第 3 到最后一行

#~/demo$ nl index.php | sed '3,$d'

--

以行为单位的替换

  将第2-5行的内容取代成为『我是文本』呢?

~/demo$ nl index.php | sed '2,5c 我是文本'

  c 动作就是有取代的意思,透过这个方法我们就能够将数据整行取代了.

--

其他的用法会在之后慢慢工作和学习中补充。

2018/03/23 每日一个Linux命令 之 sed的更多相关文章

  1. 2018/03/08 每日一个Linux命令 之 chattr/lsattr

    每日一个Linux命令 2018-03-08 Linux 命令 chattr/lsattr chattr [-参数] [+/-属性] [文件或者目录] 经过今天没有对铃,粥熬糊了,我就知道...... ...

  2. 2018/03/07 每日一个Linux命令 之 cat

    每日一个Linux命令 2018-03-07 Linux 命令 cat cat [-参数] fileName 在之前的Linux使用中 cat 命令一直作为文本输出指令来使用,很少可以深入学习的该命令 ...

  3. 2018/03/11 每日一个Linux命令 之 top

    每日一个Linux命令 之 top   今天在公司测试服务器上跑了一个我写的功能[本地测试过的],但是不知道怎么跑了个无限死循环出来,一个文件的体积在不停的变大,如果不管的话这能行? 上去一看,PHP ...

  4. 2018/03/10 每日一个Linux命令 之 find

    每日一个Linux命令 2018-03-10 Linux 命令 find find [查找目录] [定义条件]   今天很累了,本来不想写了,但想到自己订的学习计划必须坚持下去,每天完成.   fin ...

  5. 2018/03/10 每日一个Linux命令 之 cksum

    每日一个Linux命令 2018-03-10 Linux 命令 cksum cksum [文件]  今天楼下的一个大妈去世了,不仅感叹,现如今,真的和以前不一样了,楼上楼下都不知道住的是谁? cksu ...

  6. 2018/03/09 每日一个Linux命令 之 chgrp/chown

    每日一个Linux命令 2018-03-09 Linux 命令 chgrp/chown chgrp [-参数] [文件或者目录] chown [-参数] [文件所有者]:[文件所属群组] [文件或者目 ...

  7. 2018/03/27 每日一个Linux命令 之 cron

    Cron 用于配置定时任务. -- 环境为 Ubuntu16-04 -- 先说说怎么配置一个简单的定时任务.直观的可以看到效果. 之前在网上查找资料,对Shell编程不熟悉的实在是很头疼,走了不少弯路 ...

  8. 2018/03/31 每日一个Linux命令 之 date

    date 命令主要用于查看和修改时间和时区 -- 这里主要学习基本的查看和设置时间和时区的方法. 直接显示日期 date '+%D' 效果 vagrant@hong:~$ date '+%D' 03/ ...

  9. 2018/03/25 每日一个Linux命令 之 df

    Linux df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计. 就像在windows下打开我的电脑一样会统计各个磁盘一样的情况 主要用于查看磁盘空间占用情况 -- [@hong:~] ...

随机推荐

  1. RF判断列表、字典、整数、字符串类型是否相同方法

      ${d} create list shk shsh${w} create list ${e} evaluate type(${d}) ${t} evaluate type(${w}) should ...

  2. NFS exportfs 命令

    exportfs 是在服务端上使用的命令,主要用来操作挂载的目录,比如我们修改了NFS配置文件,需要重启NFS服务,如果客户端正在读写,那么重启NFS服务对客户端是有影响的,因此 exportfs 命 ...

  3. tablayout在中间显示

    <android.support.design.widget.TabLayout android:id="@+id/tabLayout" android:layout_wid ...

  4. js数组sort方法

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

  5. fastcgi模式下设置php最大执行时间

    php在执行中常见错误: The FastCGI process exceeded configured request timeout: FastCGI process exceeded confi ...

  6. php基础设计模式 注册树模式、工厂模式、单列模式

    废话不多说了,先给大家介绍注册树模式然后介绍工厂模式最后给大家介绍单列模式,本文写的很详细,一起来学习吧. php注册树模式 什么是注册树模式? 注册树模式当然也叫注册模式,注册器模式.之所以我在这里 ...

  7. hadoop完全分布式搭建HA(高可用)

    2018年03月25日 16:25:26 D调的Stanley 阅读数:2725 标签: hadoop HAssh免密登录hdfs HA配置hadoop完全分布式搭建zookeeper 配置 更多 个 ...

  8. 【Mybatis】Mybatis元素生命周期

    一.SqlSessionFactoryBuilder SqlSessionFactoryBuilder是利用XML或者Java编码获得资源来构建SqlSessionFactory的,通过它可以构建多个 ...

  9. chrome插件开发,易懂

  10. Telnet IMAP Commands Note

    http://busylog.net/telnet-imap-commands-note/  Telnet IMAP Commands Note https://www.cnblogs.com/qiu ...