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)

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

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏后端技术探索

​nginx的配置系统

配置文件中以#开始的行,或者是前面有若干空格或者TAB,然后再跟#的行,都被认为是注释,也就是只对编辑查看文件的用户有意义,程序在读取这些注释行的时候,其实际的...

992
来自专栏FreeBuf

VOOKI:一款免费的Web应用漏洞扫描工具

Vooki是一款免费且用户界面友好的Web应用漏扫工具,它可以轻松地为你扫描任何Web应用并查找漏洞。Vooki主要包括三个部分,Web应用扫描器,Rest A...

2443
来自专栏葡萄城控件技术团队

使用 PowerShell 自动化 CloudServices 发布

在软件的开发过程中,自动化的编译和部署能够带来很多的优势。如果可以通过一个脚本实现软件的自动化部署,那么就可以节省大量的时间去做其它事情。 下面介绍如何将云应用...

2297
来自专栏weixuqin 的专栏

一些杂想

(目前个人认为,Django 还是应该使用 Django1.11版本,稳定长期支持到2020年,兼容性也好。)

983
来自专栏移动安全

移动安全-应用加固命令行工具jar包使用说明

为方便用户快速集成到自动化任务中,乐固加固推出命令行工具。该工具是一个jar包(支持基础版、专业版、企业版),提供上传apk、下载加固包功能。下载的加固包需要用...

9518
来自专栏Django中文社区

登录

用户已经能够在我们的网站注册了,注册就是为了登录,接下来我们为用户提供登录功能。和注册不同的是,Django 已经为我们写好了登录功能的全部代码,我们不必像之前...

8805
来自专栏我的博客

Sed详解

1、说明 sed 一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令...

32410
来自专栏后端技术探索

关于PHP脚本和浏览器连接深入解析

当 PHP 脚本正常地运行 NORMAL 状态时,连接为有效。当远程客户端中断连接时,ABORTED 状态的标记将会被打开。远程客户端连接的中断通常是由用户点击...

2061
来自专栏Python小屋

Python+django网页设计入门(10):分页显示

2、修改questions应用的views.py文件,导入django提供的分页器对象。

1222
来自专栏linux运维学习

linux学习第二十篇:zip压缩,tar打包以及打包压缩

zip压缩工具 zip可以压缩目录,zip压缩包不能直接查看文件内容,只能查看里面文件列表 zip 1.txt.zip 1.txt //压缩文件,不同...

2416

扫码关注云+社区

领取腾讯云代金券