当前位置:首页 > 实用技巧 >

linux中sed命令用法(sed命令在linux中的作用)

来源:原点资讯(www.yd166.com)时间:2023-11-18 03:44:39作者:YD166手机阅读>>

作用
  • sed命令是一个非交互式的行文本编辑器,它能对文件内容进行编辑,默认每次处理文本文件中所匹配到一行内容到模式空间,然后用后面的命令进行操作,操作完成之后,会把模式空间里面的内容输出到屏幕上,然后把模式空间中的内容删除,同时把下一行所匹配到的内容读入模式空间内,依次循环,直到读取完整个文件。
  • sed 命令处理的是缓冲区中的内容,其实这里的缓冲区,就是模式空间
语法

sed语法支持两种格式,分别是

  • sed [options] 'address command' file
  • sed [options] -f [scripefile] file

对以上的几个英语字符进行说明:

  • options为选项,其中sed支持的选项会在下面的选项小结说明
  • address : 相当于匹配的条件,会在地址中进行说明
  • command为命令,相当于一个参数,放在地址后面,具体见下面的命令小节说明
  • file :为文本文件

需要说明的是,使用时address和command会挨在一起,中间没有空格,上面语法中间加空格是为了说明这是两个部分

以下为sed命令的工作流程图

linux中sed命令用法,sed命令在linux中的作用(1)

选项

这里的选项就是指sed之后的options,常见的选项具体如下:

-e ,--expression=script 以选项中指定的script参数来处理文本文件,可以指定多个命令 -f file,--files=script 以文件中的指定的参数来处理文本文件 ​ -n ,--quiet ,--slient 取消默认输出,sed默认会输出所有文本内容,使用-n参数后只显示处理过的行 ​ -r ,--regexp-extended 支持扩展正则表达式 ​ -i,--in-place[=SUFFIX] 直接修改文件内容地址

这里的地址就是语法格式中的address部分,是在单引号里的前一部分 。

替换标记说明linenumber指定特定行号startline,endline指定起始行号和结束行号linenumber, nn为数字,表示从指定行号向后n行/pattern/已正则表达式表示的匹配模式/pattern1, /pattern2/从模式匹配1到模式匹配2pattern/,x在给定行号上查询包含模式的行x,/pattern/通过行号和模式查询匹配的行x,y!查询不包含指定行号x和y的行

命令

这里的指令就是command,这个一般放在单引号内,同时和要处理的字符放在一起,只是command放在字符的前面。

a 追加,向匹配行后面插入内容 i 插入,向匹配行前插入内容 c 更改,更改匹配行的内容 d 删除,删除匹配行的内容 s 使用替换模式替换相应模式 s/patten/newstring 替换,把patten匹配到的内容换成newstring p 打印,打印出匹配的内容,通过与-n选项配合使用 = 标号,用来将匹配的行前标号 n 读取下一行,遇到n会自动自动跳入下一行 r 将内容读入文件 {} 命令间的传递,类似于管道符| w 将匹配内容写入文件 W 将匹配到行的第一行,保存到file中。替换标记

  • g : 表示将匹配到的内容进行全局替换 。
  • \1 :表示前面第一个左括号所表示的内容 ,\2表示前面第二个左括号中表示的内容,依次类推
  • & : 表示前面匹配到的内容
正则匹配

正在匹配在上面已经介绍到,详情请见正则表达式介绍。具体见:

实例

以下主要针对地址指令的实战练习

先准备数据文件aa.txt,通过cat查看aa.txt文件内容

[root@localhost test]# cat aa.txt 总用量 28 lrwxrwxrwx. 1 root root 7 9月 10 06:12 bin -> usr/bin dr-xr-xr-x. 6 root root 4096 9月 10 06:44 boot drwxr-xr-x. 20 root root 3360 9月 29 05:19 dev drwxr-xr-x. 3 root root 20 9月 14 03:08 docker_registry drwxr-xr-x. 2 root root 41 9月 17 06:23 docker_study drwxr-xr-x. 151 root root 12288 9月 29 05:20 etc drwxr-xr-x. 3 root root 18 9月 10 06:57 home lrwxrwxrwx. 1 root root 7 9月 10 06:12 lib -> usr/lib lrwxrwxrwx. 1 root root 9 9月 10 06:12 lib64 -> usr/lib64 drwxr-xr-x. 2 root root 6 4月 11 2018 media drwxr-xr-x. 2 root root 21 9月 19 21:51 mnt drwxr-xr-x. 4 root root 34 9月 11 06:53 opt dr-xr-xr-x. 307 root root 0 9月 29 05:19 proc dr-xr-x---. 7 root root 266 9月 29 05:20 root drwxr-xr-x. 45 root root 1320 9月 29 06:26 run lrwxrwxrwx. 1 root root 8 9月 10 06:12 sbin -> usr/sbin drwxr-xr-x. 2 root root 6 4月 11 2018 srv dr-xr-xr-x. 13 root root 0 9月 29 05:19 sys drwxr-xr-x. 3 root root 43 9月 26 19:11 test drwxrwxrwt. 24 root root 4096 9月 29 06:38 tmp drwxr-xr-x. 13 root root 155 9月 10 06:12 usr drwxr-xr-x. 22 root root 4096 9月 10 06:45 var

  1. 显示文件中的第2行内容 .

linux中sed命令用法,sed命令在linux中的作用(2)

显示文件中的第2行内容 .

  1. 删除文件中3~13行

linux中sed命令用法,sed命令在linux中的作用(3)

  1. 删除匹配boot的行

linux中sed命令用法,sed命令在linux中的作用(4)

栏目热文

linux利器学习之sed命令教程(linuxsed命令详细教程学习)

linux利器学习之sed命令教程(linuxsed命令详细教程学习)

简介sed命令是Linux中的一种文本编辑工具,它使用流编辑器(stream editor)的方式对文本进行处理,它可以...

2023-11-18 03:32:06查看全文 >>

linuxsed的详细讲解与使用方法(linux教程sed命令的用法教程)

linuxsed的详细讲解与使用方法(linux教程sed命令的用法教程)

概述sed命令是一个面向字符流的非交互式编辑器,也就是说sed不允许用户与它进行交互操作。sed是按行来处理文本内容的。...

2023-11-18 04:06:16查看全文 >>

selinux开启宽松模式(三星selinux开启宽松模式)

selinux开启宽松模式(三星selinux开启宽松模式)

1、安装mysql将mysql镜像文件传到root目录下。2、关闭防火墙浏览器访问,关闭防火墙,用setenforce ...

2023-11-18 03:22:20查看全文 >>

linux的sed命令修改源文件详解(linux教程sed命令的用法教程)

linux的sed命令修改源文件详解(linux教程sed命令的用法教程)

sed 命令主要用于替换一个文件中的文本。-- Magesh Maruthamuthu(作者)当你在使用文本文件时,很可...

2023-11-18 03:59:20查看全文 >>

火影忍者黑土几号上架(火影忍者黑土怎么获得的)

火影忍者黑土几号上架(火影忍者黑土怎么获得的)

11月高招a几号会官宣,技能爆料是几号?11月高招a几号会官宣,上架时间是几号?首先看一下往年10月份高招a的上架时间。...

2023-11-18 03:30:56查看全文 >>

selinux是如何管理进程的(简述selinux的三种工作模式和功能)

selinux是如何管理进程的(简述selinux的三种工作模式和功能)

进程的概念与查看进程-运行中的程序,从程序开始运行到终止的整个生命周期是可管理的 查看命令 ps -e 表示所有...

2023-11-18 03:36:27查看全文 >>

linuxsed命令使用教程(sed命令在linux中的作用)

linuxsed命令使用教程(sed命令在linux中的作用)

编译自: https://linuxhandbook.com/Sed-reference-guide/ 作者: Sylv...

2023-11-18 03:38:30查看全文 >>

linux运维之sed使用教程交流(linuxsed命令详细教程学习)

linux运维之sed使用教程交流(linuxsed命令详细教程学习)

简介 Sed是一款流编辑工具,用来对文本进行过滤与替换操作,特别是当你想要对几十个配置文件做统一修改时,你会感受到Sed...

2023-11-18 03:48:37查看全文 >>

linuxsed命令详解(sed命令在linux中的作用)

linuxsed命令详解(sed命令在linux中的作用)

一 基础介绍1.1 功能sed(流编辑器)是一种强大的编辑器,用于处理文本数据。1.2 语法sed [选项] '...

2023-11-18 04:05:12查看全文 >>

linux怎么添加sed命令(linux教程sed命令的用法教程)

linux怎么添加sed命令(linux教程sed命令的用法教程)

请关注本头条号,每天坚持更新原创干货技术文章。如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习1. 前言...

2023-11-18 03:22:01查看全文 >>

文档排行