Linux sed 命令

Linux sed 命令

  • 1. 定义
    • 1.1 man sed //man 的解释
  • 2. 功能
    • 2.1 注意-sed 不会直接修改源文件数据
  • 3. sed 与 vi 的区别
  • 4. sed工作原理
  • 5. 语法
    • 5.1 选项说明:
    • 5.2 动作/脚本命令说明:
  • 6. 示例及说明
    • 6.1 sed s 字符串替换
      • 6.1.1 sed s 格式
      • 6.1.2 sed 's/is/are/2' test [局部替换]
      • 6.1.3 sed 's/hani/HANI/g' test [g 全部替换]
      • 6.1.4 sed -n 's/hani/HANI/p' test [-n p 只输出修改的行]
      • 6.1.5 其他常用
    • 6.2 sed d 删除
      • 6.2.1 sed 'd' test [d 删除全部]
      • 6.2.2 sed '3d' test [3d 删除指定行]
      • 6.2.3 sed '1,4d' test [1,4d 删除区间]
    • 6.3 sed a 和 i 添加和插入
      • 6.3.1 sed '3i you are beautiful' test [3i 指定行之前插入]
      • 6.3.2 sed '3a you are more beautiful' test [3a 指定行之后添加]
      • 6.3.3 sed '4i hani\ ……' test [……\ 添加/插入多行]
    • 6.4 sed c 取代
      • 6.4.1 sed '3c you are beautiful' test [3c 取代指定行]
    • 6.5 sed y 转换字符
      • 6.5.1 sed 'y/hani/HANI/' test [每个字符进行映射替换]
    • 6.6 sed p 打印脚本命令
      • 6.6.1 sed -n '/hani/p' test [只打印包含匹配文本模式的行]
      • 6.6.2 sed p 其他常用
    • 6.7 sed w 将所选的行写入文件
      • 6.7.1 sed 's/hani/HANI/w another' test [w 写到另外文件]
    • 6.8 sed q 退出脚本命令
      • 2.8.1 sed '1q' test [第一次匹配后退出]
  • 8. sed 脚本命令的寻址方式/定址
    • 8.1 以数字形式指定行区间
      • 8.1.1 sed '1,4s/hani/HANI/' test [多行替换]
    • 8.2 用文本模式指定行区间
  • 参考

linux中最为常用的三大文本(grep,sed,awk)处理工具

Linux sed 命令
https://blog.csdn.net/lqy971966/article/details/107006904
Linux grep 命令
https://blog.csdn.net/lqy971966/article/details/106927370
Linux awk 命令
https://blog.csdn.net/lqy971966/article/details/107019195

1. 定义

Sed is a stream editor.
sed全称是:stream editor 流编辑器
对文件的操作无非就是”增删改查“,sed命令就是实现对文件的”增删改查“。

1.1 man sed //man 的解释

sed - stream editor for filtering and transforming text
用于过滤和转换文本的流编辑器

2. 功能

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

sed 本身是一个非常复杂的工具,有专门的书籍讲解 sed 的具体用法

作为linux中最为常用的三大文本(awk,sed,grep)处理工具之一

2.1 注意-sed 不会直接修改源文件数据

sed 默认不会直接修改源文件数据,而是会将数据复制到缓冲区中,修改也仅限于缓冲区中的数据

3. sed 与 vi 的区别

vi 采用的是交互式文本编辑模式,你可以用键盘命令来交互性地插入、删除或替换数据中的文本。

sed 采用的是流编辑模式,最明显的特点是,在 sed 处理数据之前,需要预先提供一组规则,sed 会按照此规则来编辑数据。

sed 是一种非交互式编辑器(即用户不必参与编辑过程),它使用预先设定好的编辑指令对输入的文本进行编辑,完成之后再输出编辑结构

4. sed工作原理

  1. sed 会一次处理一行内容。
  2. 处理时,把当前处理的行存储在临时缓冲区中,成为"模式空间",接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。
  3. 文件内容并没有改变,除非你使用重定向存储输出。

5. 语法

sed [-hnV] [ -e
                    
                    

你可能感兴趣的:(Linux命令,linux-文本等操作,sed,linux,shell)