Linux之sed文本处理命令

****sed简介**** sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,sed只是对缓冲区中原始文件的副本进行编辑,并不是编辑原始的文件。除非你使用重定向存储输出或者使用使用sed编辑命令中的w选项。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作。


****sed命令参数****

  • a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)
  • c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
  • d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
  • i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
  • p :列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行
  • s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦

不怎么喜欢理论行的东西,来来来,实践实践~~~ 操作的文件为sedfile

  • 在指定行添加行内容,比如在第三行添加"insertLine"内容
$sed -e 3a\insertLine sedfile
sed '2a insert' sedfile #在第三行后添加 即第三行开始
sed '2i insert' sedfile #在第二行前添加 即第二行开始

Paste_Image.png

  • 删除指定行内容,可以是一个范围的多行【1,2,3,4,5...$表示最后一行】
$sed -e '2,4d' sedfile #推荐
或者
$sed '2,4d' sedfile #没有-e也是可以的
#删除第二行
$sed '2d' sedfile
#要删除第 3 到最后一行
$sed '3,$d' sedfile
#注意 d表示删除然而 sed 后面接的是动作需要以单引号括起来

Paste_Image.png

  • 以行为单位替换内容
$sed '2,5c 这是alic替换的content' sedfile #替换第二到第五行的内容

Paste_Image.png

  • 以行为单位的显示
$sed -n '2,4p' sedfile #显示第二到第四行
$sed -n '二p' sedfile #搜索与二相关的行

Paste_Image.png

  • 内容的搜索并删除【以行为单位】
$sed '/二/d' sedfile #搜索到二相关的行并删除

Paste_Image.png

  • 内容搜索并替换
$sed 's/alic/灿/g' sedfile #将alic替换成灿

Paste_Image.png

  • 多点处理
sed -e '3,4d' -e 's/alic/灿/g' sedfile #删除第三四行 而且同时将alic替换成灿

Paste_Image.png


Linux运维基础且常用命令 Linux之crontab定时任务 Linux之sed文本处理命令 Linux之ps进程查看命令 Linux之expect交互语言命令 Linux之tail命令


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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技术随笔

Code::Blocks配置GTK+2和GTK+3

4718
来自专栏杨龙飞前端

渐进增强 VS 优雅降级

2874
来自专栏游戏杂谈

Operation could not be completed. (WebKitErrorDomain error 101.)

ios中加载网页,会报如标题所示的错误“Operation could not be completed. (WebKitErrorDomain error ...

1901
来自专栏自由而无用的灵魂的碎碎念

网页中meta标签的使用

最近,看《Mastering Integrated HTML and CSS》时,在"为适应搜索引擎而调整网站"一节简要介绍了<meta>标签。不过,介绍比较粗...

1162
来自专栏从零开始学自动化测试

python测试开发django-1.开始hello world!

当你想走上测试开发之路,用python开发出一个web页面的时候,需要找一个支持python语言的web框架。django框架有丰富的文档和学习资料,也是非常成...

1853
来自专栏惨绿少年

练习题二下

1.1 第8题 linux 系统运行级别一般为 0-6,请分别写出每个级别的含义。 1.1.1 运行级别的含义 0 关机 1 单用户模式 2 多用户模式 没有...

2030
来自专栏码生

证书报错解决方法:Code=3000 "未找到应用程序的“aps-environment”的授权字符串"

1:如果你的项目中已经添加了 KeychainAccessGroups.plist 文件,在此文件中新增一对键值

3983
来自专栏破晓之歌

Django 开源相册组件介绍 django-photologue

下载地址:https://github.com/jdriscoll/django-photologue

2324
来自专栏向治洪

cocos2d 在windows环境下搭建

详细搭建步骤如下: 1、Android 开发环境搭建 Android开发环境搭建不是重点,相信看此文章的很多人都已经搭建成功,这里随便概述性的说说。 1、下载 ...

2257
来自专栏Python

linux每日命令(27):chmod命令

chmod命令用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含...

1031

扫码关注云+社区

领取腾讯云代金券