Linux文本三剑客-sed

Linux_commands #正则表达式

详解

sed是stream editor的缩写,简称流编辑器

sed是操作、过滤和转换文本内容的强大工具
常用功能包括结合正则表达式对文件实现快速增删改查,其中查询的功能中最强大的两个功能是过滤(过滤指定的字符串)、取行(取出指定行)

sed工作流程

  • 文件test.txt
    • 逐行读取文本文件
  • sed模式空间(pattern space)
    • 读取每一行数据放入自己的工作车间(文本数据读入内存)
  • 模式匹配
    • 匹配成功
      • 编辑(输出到屏幕)
    • 匹配失败
      • 默认输出到屏幕(可取消)

语法

sed [选项] [sed内置命令字符] [输入文件]

选项

参数选项 解释
-n 取消默认sed的输出,常与sed指令p一起使用
-i 直接将修改结果写入文件,不用-i,sed修改的是内存数据
-e 多次编辑,不需要管道符
-r 支持正则扩展

sed的内置命令字符用于对文件进行不同的操作功能
sed常用内置命令字符

sed的你指命令字符 解释
a append,对文本追加,在指定行后面添加一行/多行文本
d delete,删除匹配行
i insert,插入文本,在指定行前太哪家一行/多行文本
p print,打印匹配行的内容,通常p与-n
s/正则/替换内容/g 匹配正则内容,然后替换内容(支持正则),结尾g表示全局匹配

sed匹配范围:

范围 解释
空地址 全文处理
单地址 指定文件某一行
/pattern/ 被模式匹配到的每一行
范围区间 10,20 十到二十行,10,+5 第十行向下五行,/pattern1/,/pattern2/
步长 12,表示从1开始,间隔为2的行;22,表示从2开始,间隔为2的行
posted @   Demon丶安梓  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示