专栏首页Linux技术资源分享Linux之sed文本处理命令

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 条评论
登录 后参与评论

相关文章

  • Linux下使用crontab定时备份MYSQL数据库

    AlicFeng
  • LNMP实用配置姿势

    AlicFeng
  • 解决Docker中ubuntu镜像安装MySQL

    AlicFeng
  • sed的粉丝

      UNIX/LINUX下有个工具叫sed,起源于ed命令,但没有人机交互,完全是脚本语言。sed虽然是结构化的程序,但其虚拟出来的机器与我们实际机器相差甚远,...

    窗户
  • sed的基本用法详解

    在Linux的世界中,有着一个文本三剑客的称呼,它们分别代表grep(文本过滤),sed(流编辑器),awk(gawk)(报告生成器)。 它们是强大的文本处...

    小小科
  • linux sed命令使用

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/d...

    bear_fish
  • sed命令扩展–转载

    文本处理工具之二 sed命令详解 sed:Stream Editor文本流编辑,sed是一个“非交互式的”面向字符流的编辑器。能同时处理多个文件多行的内容,可以...

    老七Linux
  • 去除文件中<feff>

    最近生成的文件中出现了<feff>乱码,而且单个文件中出现不止一次,在vim中打该文件显示<feff>,而在idea中则显示一个“-”,对数据处理造成了极大的困...

    休辞醉倒
  • Sed编辑器入门基础用法手册

    简介 Sed(Stream Editor)是一款流编辑工具,可以实现对文本进行过滤和替换操作,在批量修改文件时简便一些。 -非交互 -逐行处理(一次读取一行...

    吴柯
  • shell脚本监控磁盘使用率

    简单的一个监控磁盘分区使用率的脚本,欢迎批评指正. #!/bin/sh # df -h:查看硬盘信息 # sed '1d':删除第一行 # awk '{prin...

    行 者

扫码关注云+社区

领取腾讯云代金券