0
点赞
收藏
分享

微信扫一扫

sed文本处理工具

回溯 03-09 23:45 阅读 3

sed文本处理工具

  • sed 是一种非交互式的流编辑器,通过多种转换修改流经它的文本,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space), 接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。 接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向 存储输出。sed可做的编辑工作包括删除、查找替换、添加、插入、从其他文件中读入数据 等 。
  • 注意:要想保存修改后的文件,必须使用重定向生成新的文件。
  • 如果想直接修改源文件 本身则需要使用“-i”参数。
  • sed命令使用的场景包括以下一些:
  • 常规编辑器编辑困难的文本
  • 太过于庞大的文本,使用常规编辑器难以胜任(比如说vi一个几百兆的文件)
  • 有规律的文本修改,加快文本处理速度(比如说全文替换)

sed 语法

sed文本处理工具_字符转换


动作说明

1、删除命令

  • 使用d命令可删除指定的行

sed文本处理工具_sed_02


2、查找替换命令

  • 使用 s 命令可将查找到的匹配文本内容替换为新的文本,默认情况只替换第一次匹配到的内容

sed文本处理工具_sed_03


3、字符转换命令

  • 使用y命令可以进行字符转换,其作用为将一系列字符逐个地变换为另外一系列字符,基本用法如下:

# 以下命令会将file中的O转换为N、L转换为E、D转换为W
# 注意转换字符和被转换字符的长度要相等,否则sed无法执行
sed 'y/OLD/NEW' file

4、插入文本命令

  • 使用i或a命令插入文本,其中 i 代表在匹配行之前插入,而a代表在匹配行之后插入,示例如 下:

sed文本处理工具_字符串_04


5、取代行命令

  • c 命令,c 的后面可以接字符串,这些字符串可以取代 n1,n2之间的行

sed文本处理工具_Linux_05


6、读入文本

  • 使用r命令可从其他文件中读取文本,并插入匹配行之后,例如:

sed文本处理工具_sed_06


7、打印

  • 使用 p 命令可进行打印,这里使用 sed 命令时一般都加-n参数,表示不打印没关系的行。

sed文本处理工具_字符串_07


sed 脚本

sed文本处理工具_sed_08


举报

相关推荐

0 条评论