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   

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Linux sed命令是利用script来处理文本文件。sed可依照script的指令,来处理、编辑文本文件。Se...
    姜淑均阅读 4,010评论 1 2
  • shell sed命令详解 sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中...
    zplodge阅读 5,944评论 0 0
  • linux sed命令详解 1. Sed简介 sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行...
    很少更新了阅读 6,406评论 0 6
  •   sed是Linux下一款功能强大的文本处理工具,可以替换、删除、追加文件内容,支持正则表达式使用。 文本替换将...
    你东哥呀阅读 4,803评论 0 12
  • sed编辑器简介 sed是linux下一种常用的非交互式编辑器,不同于常用的交互式的vim编辑器,我们只能在com...
    健谈的Boris阅读 3,579评论 0 1