sed 命令使用总结

作者: 学生陈希 | 来源:发表于2017-08-13 22:53 被阅读30次

1. 简介

sed是非交互式的编辑器。
它不会修改文件,除非使用shell重定向来保存结果。
默认情况下,所有的输出行都被打印到屏幕上。
sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。
具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。
sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显示。
处理完输入文件的最后一行后,sed便结束运行。
sed把每一行都存在临时缓冲区中,对这个副本进行编辑,所以不会修改原文件。

2 常用命令

命令 功能
d 删除行
p 打印行
i 直接编辑源文件
s 用一个字符串替换两一个字符串
g 在行内进行全局替换

3. 实践 -- 替换

3.1 替换字符串

sed -i 's/abc/def/g' text.txt

表示在当前目录下的text.txt文件中,把所有的abc字符串替换为def

3.2 替换带有多个"/"的字符串

sed -i 's:/a/b/c:/d/e/f:g' text.txt

表示在当前目录下的text.txt文件中,把所有的/a/b/c字符串替换为/d/e/f

在替换的时候,不仅仅是"/" 可作为分隔符, 其他字符也可作为分隔符, 只需要前后的分隔符一致即可, 本例中使用“:” 作为分隔符。

3.3 替换 project.pbxproj 文件中的字符串

project.pbxproj 位于 xx.xcodeproj 文件中, 用上述命令来替换其中文件,无法起作用,其原因是因为OSX 需要显示的为它指定其扩展 。正确做法如下:

sed -i '' 's:/a/b/c:/d/e/f:g' project.pbxproj

参考资料链接

相关文章

  • 2019-07-24 课堂笔记sed命令

    昨天回顾 使用grep命令取IP地址 今日总结 sed执行原理sed执行原理.jpg sed [参数] '条件指令...

  • sed 命令使用总结

    1. 简介 2 常用命令 3. 实践 -- 替换 3.1 替换字符串 表示在当前目录下的text.txt文件中,把...

  • LINUX sed命令的使用

    LINUX sed命令的使用 命令格式 sed常用命令 sed替换标记 sed元字符集 已匹配字符串标记& ⼦串匹...

  • Linux命令之sed批量替换字符串操作

    Linux中sed命令功能强大,本文将详细介绍如何使用sed命令进行字符串替换。一、基本的替换命令格式1:sed ...

  • 070-sed

    想要编辑和修改文本内容。使用sed命令可以完美做到。非常有必要写一遍记录及查看。 sed 命令行格式为: sed ...

  • Mac sed命令invalid command code错误

    问题 Mac上使用sed命令时,报出sed: 1: "1.txt": invalid command code ....

  • sed命令使用

    sed基本用法:sed: stream EDitor 行编辑器,(全屏编辑器:vi)。 sed: 模式空间 默...

  • sed 命令使用

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选...

  • sed命令使用

    全部替换指定内容 sed -i "s/SELINUX=enforcing/SELINUX=disabled /g"...

  • 六.Linux之sed命令

    sed使用方式 1.在Shell中输入: 脚本格式: 2.用sed -f命令调用sed脚本文件 3.直接执行sed...

网友评论

    本文标题:sed 命令使用总结

    本文链接:https://www.haomeiwen.com/subject/lwcyrxtx.html