sed命令

sed命令

# sed [参数] ‘<条件>’ <文件名>

[参数]

-n  不再显示模式空间里的内容(默认是显示的)

-i  直接修改源文件

-e  同时执行多个匹配操作

-r  表示执行正则扩展

-f   读取预先编写好的流处理文件(每个操作独占一行)

例如:sed -f /tmp/1.txt /etc/fstab

<条件>

01---(d:删除某一行)

02---(p:显示某一行)

03---(a:在后面追加一行)

04---(i:在前面追加一行)

05---(c:替换某一行内容)

06---(=:显示行号)

07---(s/查找内容/替换内容/[修饰符]:查找并替换)

08---(r   file:将fileli的内容添加到符合条件的行后面)

09---(w  file:将匹配后的内容写入到file文件内)

示例:

01---(d:删除某一行)

删除第5行

sed '5d' /test/aaa.txt  

02---(p:显示某一行)

显示“任意字符开头”的行

sed '/^./p' /test/aaa.txt   

03---(a:在后面追加一行)

在“符合条件的行后面追加新行”

sed '/^abc/a \Hello word' /test/aaa.txt  

04---(i:在前面追加一行)

在“符合条件的行前面追加新行”

sed '/^abc/i \Hello word' /test/aaa.txt  

05---(c:替换某一行内容)

替换“第7行的内容为:Hello word"

sed '7c \Hello word' /test/aaa.txt  

06---(=:显示行号)

显示最后一行的行号

sed '$=' /test/aaa.txt  

07---(s/查找内容/替换内容/[修饰符]:查找并替换)

查找每一行中的abc并替换为ccc

sed 's/abc/ccc/[修饰符]' /test/aaa.txt  

[修饰符]:
          g:替换每一行所有的字符
           i:忽略大小写

[补充]:默认只替换每行第一次匹配到的字符

08---(r   file:将fileli的内容添加到符合条件的行后面)

在文件的第n行后追加文件里的内容

sed '2r /etc/abc.txt' /test/aaa.txt 

09---(w   file:将匹配后的内容写入到file文件内)

将符合条件的内容,另存到file文件中

sed '/^abc/w /etc/abc.txt' /test/aaa.txt   

推荐阅读更多精彩内容

  • Linux sed命令是利用script来处理文本文件。sed可依照script的指令,来处理、编辑文本文件。Se...
    姜淑均阅读 415评论 1 2
  • shell sed命令详解 sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中...
    zplodge阅读 1,689评论 0 0
  • linux sed命令详解 1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行...
    Rick_Ji阅读 1,508评论 0 6
  •   sed是Linux下一款功能强大的文本处理工具,可以替换、删除、追加文件内容,支持正则表达式使用。 文本替换将...
    你东哥呀阅读 834评论 0 12
  • sed编辑器简介 sed是linux下一种常用的非交互式编辑器,不同于常用的交互式的vim编辑器,我们只能在com...
    健谈的Boris阅读 172评论 0 1
  • 《西游记》中的真假美猴王篇章是《西游记》全书中最为精彩的一段,向来不同的读者对此篇章都有不同的理解。正如西方谚语:...
    有知社阅读 227评论 4 2
  • 第一 反抗还是顺从? 第二 阶级消失了吗? 第三 阶级永远不会消失。 第四 人的价值在哪? 第五 斗争是永远的社会形态
    万水千山只等闲阅读 62评论 0 0