专栏首页吴柯的运维笔记Sed编辑器入门基础用法手册

Sed编辑器入门基础用法手册

简介

Sed(Stream Editor)是一款流编辑工具,可以实现对文本进行过滤和替换操作,在批量修改文件时简便一些。

-非交互

-逐行处理(一次读取一行内容来处理命令),并输出至屏幕

-可实现对文本的输出/删除/替换/复制/剪切/导入/导出等操作。

Sed使用的选项及参数

# sed  [-nefr]  {指令} [输入文件]

#前置命令 | sed [选项] '编辑指令'

选项与参数:

-n :静默输出,使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来

-e :直接在命令列模式上进行 sed 的动作编辑

-f :直接将 sed 的动作写在一个文件内, -f filename 则可以运行 filename 内的 sed 动作

-r :sed 的动作支持延伸正则表达式。(默认是基础正则表达式)

-i :直接修改读取的文件内容,而不是输出到终端。

function: a :(append)新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行) c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行 d :(delete)删除,因为是删除,所以 d 后面通常不接任何东西 i :(insert)插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行) p :列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行 s :(substitution)取代,可以直接进行取代的工作。通常这个 s 的动作可以搭配正则表达式

输入文本:

删除文本:

替换文本:

直接修改文件内容(危险动作) sed 可以直接修改文件的内容,不必使用管道命令或数据流重导向! 不过,由於这个动作会直接修改到原始的文件,所以请你千万不要随便拿系统配置来测试! 利用 sed 将 regular_express.txt 内每一行结尾若为 . 则换成 ! # sed -i 's/\.$/\!/g' regular_express.txt 利用 sed 直接在 regular_express.txt 最后一行加入『# This is a test』 test』 # sed -i '$a # This is a test' regular_express.txt

本文分享自微信公众号 - 吴柯的运维笔记(wukeyy18s)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-08-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Vim编辑器基础入门

    Vim(Visual Interface|可视化接口),在linux中常常使用的工具,是进行Linux嵌入式编程的必备工具之一; vim最大的贡献就是它的按键系...

    WeiyiGeek
  • 零基础入门 10: 编辑器下的UGUI Image

    Image组件是Unity里显示图片的组件,可以将Sprite类型的图片显示在Canvas下。

    韩东吉
  • SED入门

    使用Linux多年,SED和AWK两大神器却始终无法得心应手的来提高自己的工作效率,每每需要查找替换,都要依赖于ST2等一众图形工具,深感愧疚,乃专门抽时间学习...

    大江小浪
  • 编程小技巧之 Linux 文本处理命令(二)

    合格的程序员都善于使用工具,正所谓君子性非异也,善假于物也。合理的利用 Linux 的命令行工具,可以提高我们的工作效率。

    程序员历小冰
  • 编程小技巧之 Linux 文本处理命令(二)

    合格的程序员都善于使用工具,正所谓君子性非异也,善假于物也。合理的利用 Linux 的命令行工具,可以提高我们的工作效率。

    程序员历小冰
  • awk(报告生成器),grep(文本过滤器),sed(流编辑器)使用入门

    三剑客 linux下的文本三剑客 grep egrep,grep,fgrep 文本查找的需要 grep:根据模式搜索文本,并将符合模式的文本行显示出来。 pa...

    若与
  • 干货!上古神器 sed 教程详解,小白也能看的懂

    熟悉 Linux 的同学一定知道大名鼎鼎的 Linux 三剑客,它们是 grep、awk、sed,我们今天要聊的主角就是 sed。

    用户3105362
  • 使用 sed 进行文本修改的各种姿势

    sed(Stream Editor)意为流编辑器,是Unix常见的命令行程序。是Bell实验室的 Lee E.McMahon 在1973年到1974年之间开发完...

    大江小浪
  • bash shell 编程基本命令教程与详解

    AI之禅

扫码关注云+社区

领取腾讯云代金券