SED命令用法
linux之sed用法
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数
据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为:
sed[-nefri]‘command’输入文本
常用选项:-n∶使用安静(silent)模式。在一般sed的用法中,所有来自STDIN的资料一般都会
被列出到萤幕上。但如果加上-n参数后,则只有经过sed特殊处理的那一行(或者动作)才会
被列出来。-e∶直接在指令列模式上进行sed的动作编辑;
-f∶直接将sed的动作写在一个档案内,-ffilename则可以执行filename内的se
d动作;
-r∶sed的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
-i∶直接修改读取的档案内容,而不是由萤幕输出。
常用命令:a∶新增,a的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
c∶取代,c的后面可以接字串,这些字串可以取代n1,n2之间的行!
d∶删除,因为是删除啊,所以d后面通常不接任何咚咚;
i∶插入,i的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p∶列印,亦即将某个选择的资料印出。通常p会与参数sed-n一起运作~
s∶取代,可以直接进行取代的工作哩!通常这个s的动作可以搭配正规表示法!例
如1,20s/old/new/g就是啦!
举例:(假设我们有一文件名为ab)
删除某行[root@localhostruby]#sed'1d'ab#删除第一行
[root@localhostruby]#sed'$d'ab#删除最后一行
[root@localhostruby]#sed'1,2d'ab#删除第一行到第二行
[root@localhostruby]#sed'2,$d'ab#删除第二行到最后一行
显示某行.[root@localhostruby]#sed-n'1p'ab#显示第一行
[root@localhostruby]#sed-n'$p'ab#显示最后一行
[root@localhostruby]#sed-n'1,2p'ab#显示第一行到第二行
[root@localhostruby]#sed-n'2,$p'ab#显示第二行到最后一行
使用模式进行查询[root@localhostruby]#sed-n'/ruby/p'ab#查询包括关键字ruby所在所有
行[root@localhostruby]#sed-n'/\$/p'ab#查询包括关键字$所在所有行,使
用反斜线\屏蔽特殊含义
增加一行或多行字符串[root@localhostruby]#catab
Hello!rubyisme,welcometomyblog.
end
[root@localhostruby]#sed'1adrinktea'ab#第一行后增加字符串"drinktea
"
Hello!
drinktea
rubyisme,welcometomyblog.
end
[root@localhostruby]#sed'1,3adrinktea'ab#第一行到第三行后增加字符串"
drinktea"
Hello!
drinktea
rubyisme,welcometomyblog.
drinktea
end
drinktea
[root@localhostruby]#sed'1adrinktea\norcoffee'ab#第一行后增加多行,
使用换行符\nHello!
drinktea
orcoffee
rubyisme,welcometomyblog.
end
代替一行或多行[root@localhostruby]#sed'1cHi'ab#第一行代替为Hi
Hi
rubyisme,welcometomyblog.
end
[root@localhostruby]#sed'1,2cHi'ab#第一行到第二行代替为Hi
Hi
end
替换一行中的某部分
格式:sed's/要替换的字符串/新的字符串/g'(要替换的字符串可以用正则表达式)[root@localhostruby]#sed-n'/ruby/p'ab|sed's/ruby/bird/g'#替换ru
by为bird
[root@localhostruby]#sed-n'/ruby/p'ab|sed's/ruby//g'#删除rub
y
插入[root@localhostruby]#sed-i'$abye'ab#在文件ab中最后一行直接输
入"bye"[root@localhostruby]#catab
Hello!
rubyisme,welcometomyblog.end
bye
ubuntu下sed命令详解
ubuntu下sed命令详解
在我写这篇blog之前还有点犹豫,因为像这么著名的命令,sed和awk应该在很多书籍⾥都有介绍,但是在⽹上找时,却
是寥寥⽆⼏... sed简介
sed是⼀种⾮交互式的流编辑器,可动态编辑⽂件。所谓⾮交互式是说,sed和传统的⽂本编辑器不同,并⾮和使⽤者
直接互动,sed处理的对象是⽂件的数据流(称为stream/流)。sed的⼯作模式是,⽐对每⼀数据⾏,若符合样式,就执⾏指
定的操作。 sed --version //查看sed版本
sed语法
sed '操作命令' 操作对象
特别注意:sed并不会更改⽂件内容。sed的⼯作⽅式是读取⽂件内容,经流编辑之后,把结果显⽰到标准输出。因此,如
果想要存储sed的处理结果,得⾃⾏运⽤转向输出将结果存成其他⽂件。 sed实例
⽤法1:删除某⼀段范围的数据⾏
sed '1,4d' test.txt
// 把第1到第4⾏数据删除,剩下的显⽰出来。d是sed的删除命令
⽤法2:把含有"La"的数据⾏删除。
sed '/La/d' test.txt
// 把含有La的⾏删除,剩下的显⽰出来。其中,/ / 代表搜索之意。
⽤法3:使⽤正则匹配
sed '/[0-9]\{3\}/d' test.txt
// 把含有"3位数"的⾏删除,剩下的显⽰出来,在样式[0-9]\{3\}中,\{3\} 表/ /要寻找的是3个数字组成的字符串
⽤法4:删除空⾏
sed '/^$/d' test.txt
//删除dataf5的空⽩⾏。^ 表开头,$ 表尾部,这两者之间没有任何字符,代表该⾏是⼀空⽩⾏。
⽤法5:反向选择
sed '/La/!d' test.txt
//把不含有La的⾏删除,剩下的显⽰出来,这⾥的!是否定的意思,表⽰不符合样式者
⽤法6:把含有"样式"的数据⾏显⽰出来
sed '/La/p' test.txt
//⽤途 把含有La的⾏显⽰出来。其中,p是sed的命令,它会把⽬前的数据显⽰出来,但因为sed默认也会显⽰不符合的数
Linux命令:sed-i解析、sed是什么、工作原理、基本语法使用、数字和正则定址、基本。。。
Linux命令:sed-i解析、sed是什么、⼯作原理、基本语法使⽤、数字和正则定
址、基本。。。
sed 是⼀个⽐较古⽼的,功能⼗分强⼤的⽤于⽂本处理的流编辑器,加上正则表达式的⽀持,可以进⾏⼤量的复杂的⽂本编辑操作。sed 本⾝是⼀个⾮常复杂的⼯具,有专
门的书籍讲解 sed 的具体⽤法,但是个⼈觉得没有必要去学习它的每个细节,那样没有特别⼤的实际意义。我们经常在 Dockerfile ⽂件中看到 sed -i 之类的语句,故此研究了解
⼀些 sed 命令。
⼀、sed 简介
1、sed 是什么
sed 全名为 stream editor,流编辑器,⽤程序的⽅式来编辑⽂本,功能相当的强⼤,可以在⼤多数操作系统中使⽤。
sed 的出现作为 grep 的继任者,与vim等编辑器不同,sed 是⼀种⾮交互式编辑器(即⽤户不必参与编辑过程),它使⽤预先设定好的编辑指令对输⼊的⽂本进⾏编辑,完
成之后再输出编辑结构。sed 基本上就是在玩正则模式匹配,所以,玩sed的⼈,正则表达式⼀般都⽐较强。
2、sed ⼯作原理
sed 会⼀次处理⼀⾏内容。处理时,把当前处理的⾏存储在临时缓冲区中,成为"模式空间",接着⽤ sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏
幕。接着处理下⼀⾏,这样不断重复,直到⽂件末尾。⽂件内容并没有改变,除⾮你使⽤重定向存储输出。
3、正则表达式的匹配过程
简单描述⼀下正则表达式的匹配过程,就是拿正则表达式所表⽰的字符串去和原⽂字符串内容去匹配,直到匹配到原⽂内容字符串中的⼀个完整⼦串就表⽰匹配成功。举个
例⼦,有⼀⾏⽂件内容 "this is better desk",这⾥⽤"esk"去匹配,匹配过程是这样的:⾸先拿e去匹配⽂件⾏内容,从this开始,直到better的e,第⼀个字符匹配成功,接着s去
匹配better字符e后边的t字符,没有匹配成功;然后重新拿esk中的e去和better的第⼆个t去匹配,没有成功,接着原始内容的下⼀个字符,直到desk中的e字符,逐个匹配s,k字
如何利用sed命令高效删除文件的特定行
如何利⽤sed命令⾼效删除⽂件的特定⾏
前⾔
正常来说,我们想要删除⽂件中的某些⾏内容,⼀般都是先打开这个⽂件,然后找到要删除的内容,再然后选中这些⾏并按删
除键进⾏删除,这在数据量很少时是没有问题的。但是,⼀旦⽂件中的⾏数据⾮常多,⽽且数据冗杂的情况下,你还要⽤上⾯
的⽅法去做的话就很恐怖了。为此,今天这篇⽂章将带⼤家⼀起学习运⽤ sed 命令⾏⼯具,即使在数据多⽽杂的情况下也能
⾼效⽽优雅地删除⽂件中的特定⾏内容。
sed 是 Stream Editor 的简写,它⽤于在 Linux 中进⾏基本的⽂本转换,是⽂件操作的⼀个重要命令,所以,我们也可以⽤它
来实现⽂本的删除操作。
下⾯是⼀些 sed 命令的使⽤⽰例,覆盖了⼤多数的使⽤场景,由浅⼊深地帮助你学习 sed 命令,让你轻松地实现⾼效删除⽂
件的特定⾏内容。
⾸先我们准备⼀个演⽰⽂件 sed-demo.txt 。
# cat sed-demo.txt
1 Linux Operating System
2 Unix Operating System
3 RHEL
4 Red Hat
5 Fedora
6 Arch Linux
7 CentOS
8 Debian
9 Ubuntu
10 openSUSE
然后我们就可以运⽤ sed 命令进⾏实验了。
注意: -i 表⽰直接进⾏⽂件操作,⽽不在终端上显⽰结果。因为是演⽰所以这⾥不带 -i 选项,我们在实际中请带上 -i 选项。
1. 删除某⼀⾏
⾸先,我们先从删除某⼀⾏开始,⽐如删除第⼀⾏、最后⼀⾏,实际也就是第 N ⾏嘛。
删除第 N ⾏的命令格式:
sed 'Nd' file
我们来删除第⼀⾏试试:
# sed '1d' sed-demo.txt
After deletion:
2 Unix Operating System
3 RHEL
4 Red Hat
5 Fedora
6 Arch Linux
7 CentOS
8 Debian
9 Ubuntu
10 openSUSE
linuxsed命令详解(推荐)
linuxsed命令详解(推荐)
概述
sed命令是⼀个⾯向字符流的⾮交互式编辑器,也就是说sed不允许⽤户与它进⾏交互操作。sed是按⾏来处理⽂本内容的。在
shell中,使⽤sed来批量修改⽂本内容是⾮常⽅便的。
sed命令的选项
sed [选项] [动作]
选项与参数:
-n :使⽤安静(silent)模式。在⼀般 sed 的⽤法中,所有来⾃ STDIN 的数据⼀般都会被列出到终端上。但如果加上 -n 参数
后,则只有经过sed 特殊处理的那⼀⾏(或者动作)才会被列出来。-e :直接在命令列模式上进⾏ sed 的动作编辑;
-f :直接将 sed 的动作写在⼀个⽂件内, -f filename 则可以运⾏ filename 内的 sed 动作;
-r :sed 的动作⽀持的是延伸型正规表⽰法的语法。(默认是基础正规表⽰法语法)
-i :直接修改读取的⽂件内容,⽽不是输出到终端。
function:
a :新增⾏, a 的后⾯可以是字串,⽽这些字串会在新的⼀⾏出现(⽬前的下⼀⾏)
c :取代⾏, c 的后⾯可以接字串,这些字串可以取代 n1,n2 之间的⾏
d :删除⾏,因为是删除,所以 d 后⾯通常不接任何参数,直接删除地址表⽰的⾏;
i :插⼊⾏, i 的后⾯可以接字串,⽽这些字串会在新的⼀⾏出现(⽬前的上⼀⾏);
p :列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n ⼀起运⾏
s :替换,可以直接进⾏替换的⼯作,通常这个 s 的动作可以搭配正规表⽰法,例如 1,20s/old/new/g ⼀般是替换符合条件的字
符串⽽不是整⾏
⼀般function的前⾯会有⼀个地址的限制,例如 [地址]function,表⽰我们的动作要操作的⾏。下⾯我们通过具体的例⼦直观的
看看sed的使⽤⽅法。
删除⾏
//test.txt 内容如下
11 aa
22 bb
33 cc
23 dd
55 2e
sed '1,2d' test.xx
输出:
33 cc
sed.exe用法 -回复
sed.exe用法 -回复
sed (Stream Editor) 是一种强大的文本处理工具,它在命令行中使用,可以通过一系列的命令对文本进行替换、删除、插入等操作。本文将一步一步回答有关 sed.exe 的用法。
第一步:下载和安装
首先,你需要下载并安装 sed.exe 文件。你可以在官方网站或其他可信的软件下载站点找到适用于你的操作系统的版本。安装过程通常很简单,只需按照提示进行操作即可。
第二步:启动 sed.exe
一旦完成安装,你可以在命令行界面中启动 sed.exe。在 Windows 中,你需要打开命令提示符或 PowerShell,并进入 sed.exe 的所在目录,在命令行中输入 "sed",然后按下回车键即可启动。
第三步:基本用法
sed.exe 的基本用法是通过指定命令对文本进行操作。一般来说,sed 命令的基本语法如下所示:
sed [选项] '命令' 输入文件
-选项:可以指定一些选项来控制 sed 的行为,例如全局替换标志 "g"、忽略大小写标志 "i" 等。 '命令':是一个或多个用于对文本进行操作的 sed 命令,命令之间使用分号进行分隔。
输入文件:指定要进行操作的文本文件。
例如,要将文本文件中的所有 "foo" 替换为 "bar",可以使用以下命令:
sed 's/foo/bar/g' input.txt
第四步:sed 命令的常用操作
- 替换操作:使用 "s" 命令进行替换操作。例如,要将文本中的 "apple"
替换为 "orange",可以使用命令:
sed 's/apple/orange/g' input.txt
- 删除操作:使用 "d" 命令进行删除操作。例如,要删除文件中包含
"delete" 的行,可以使用命令:
sed '/delete/d' input.txt
- 插入操作:使用 "i" 命令进行插入操作。例如,要在每一行的开头插入
sed的基础用法简介
sed的基础⽤法简介
sed
最近学习了⼀些sed的相关知识,初步接触sed以后给我的感受主要有两点。⾸先是sed强⼤的功能,学了以后发现之前写的脚本利⽤sed以
后会简化很多啊,具体的有些利⽤sed编辑shell脚本的思路我在下⽂中会有⼀定的体现。另外,⼀种⼯具功能强⼤就⼀定伴随的是知识点
多。sed虽然是⼀个⽂本编辑⼯具但是他的命令⽤法总结起来可以说⼜是⼀门语⾔啦。所以关于sed的学习,我个⼈的意见有两点,⼀是慢慢
持续的学,知识量⼤就慢慢学,⼀⼝吃个胖⼦不现实啊。但是⼀定要持续的去学习。⼆是多动⼿联系,sed⽀持正则表达式的⽤法,另外有
些⾼级⽤法⽐较绕脑⼦,所以多动⼿去练着学效果会好很多。所以基于这点,这篇⽂章我⾸先会对sed的⽤法有所介绍,另外会引⽤相对多
点的⽰例以及联系题。⽰例和练习题中包含的知识点还是⽐较有代表性的,另外⼀些关于使⽤sed的思路也会有所介绍。希望看完这篇⽂章
以后会对你在学习sed这⽅⾯有所帮助。
sed英⽂叫Stream EDitor, 是⼀种⾏编辑器,关于sed的特点我主要总结了下⾯三点:
1. sed是⼀种流编辑器,⼀次处理⼀⾏
2. 每次处理⼀⾏,默认处理完成以后清除模式空间读⼊下⼀⾏,循环处理,知道⽂件末尾。
3. 默认不改变源⽂件,使⽤重定向存储输出
功能:
⾃动编辑⼀个或者多个⽂件,简化对⽂件的反复操作,编写转换程序等。
⽤法:
sed [option]... 'script' inputfile...
常⽤选项:
-n:不输出模式空间内容到屏幕,即不⾃动打印
-e: 多点编辑
-f:/PATH/SCRIPT_FILE: 从指定⽂件中读取编辑脚本
-r: ⽀持使⽤扩展正则表达式
-i.bak: 备份⽂件并原处编辑
script:脚本由两部分组成,地址命令。
定界:
1. 不定界,默认全⽂
2. 单地址:#,指定⾏ /pattern/,被匹配到的每⼀⾏
3. 地址范围
第#⾏到第#⾏:#,#
第#⾏之后的第#⾏:#,+#
Mac命令行数据处理技巧使用AWK和SED进行文本处理
Mac命令行数据处理技巧使用AWK和SED进行文本处理
在使用Mac命令行进行数据处理时,AWK和SED是两个非常强大和常用的工具。它们可以帮助我们快速有效地处理文本数据,提取需要的信息,并对数据进行格式化和转换。本文将介绍AWK和SED的基本用法和常见技巧,以帮助读者更好地利用这两个工具进行文本处理。
一、AWK的基本用法
AWK是一种用于处理和分析文本数据的编程语言。它提供了强大的文本处理能力,并且非常灵活易用。下面是AWK的基本用法及常见技巧:
1. 提取指定列的数据
使用AWK我们可以轻松地提取指定列的数据。例如,如果我们有一个csv文件,其中包含姓名、年龄和性别信息,我们可以使用以下命令提取出姓名列的数据:
```
awk -F ',' '{print $1}' file.csv
``` 上述命令中,-F参数指定了字段分隔符为逗号(,),而$1表示第一个列。通过这个命令,我们可以打印出csv文件中所有行的第一列数据。
2. 利用条件过滤数据
AWK还可以根据条件过滤数据。例如,我们可以使用以下命令过滤出年龄大于等于18岁的人的数据:
```
awk -F ',' '$2 >= 18 {print $0}' file.csv
```
上述命令中,$2表示第二列,$0表示整行数据。通过这个命令,我们可以打印出csv文件中所有年龄大于等于18岁的人的数据。
3. 计算列的和、平均值等统计信息
使用AWK,我们可以很方便地计算列的和、平均值等统计信息。例如,我们可以使用以下命令计算csv文件中年龄列的平均值:
```
awk -F ',' '{sum += $2; count++} END {print sum/count}' file.csv
```
上述命令中,sum和count是AWK的变量,分别用于累加和计数。通过这个命令,我们可以打印出csv文件中年龄列的平均值。
二、SED的基本用法 SED是一种流式文本编辑器,它可以对输入的文本进行匹配和替换。它非常适合处理大型文本文件和日志文件。下面是SED的基本用法及常见技巧:
Shell脚本sed命令修改文件的某一行
Shell脚本sed命令修改⽂件的某⼀⾏
⽤法
使⽤Shell脚本⾃动化调参需要对⽂件进⾏修改
最初想到调⽤python进⾏字符串处理,通过正则表达式匹配然后修改,⽐较⿇烦
偶然发现shell其实⾃带sed命令可以处理这个问题#!/bin/bash
sed -i "26c Delay = $1" camera.lua
运⾏上述脚本./calib.sh 250即可将camera.lua配置⽂件的第26⾏改写为Delay = 250
特殊
若写⼊字符串中存在双引号则需要通过\"进⾏转义#!/bin/bash
sed -i "2c Name = \"MyCam\"" camera.lua
扩展sed
sed命令可以按⾏显⽰⽂件,例如
sed -n '26p' camera.lua #显⽰camera.lua的第26⾏内容
添加-i参数可对⽂件直接进⾏修改(慎⽤)$0
shell中⼀些特殊变量可以获取外部传⼊的参数值
$ ./calib.sh 1 2 3
$0在shell脚本中⽤于获取传⼊命令的参数,其中$0为./calib.sh即命令本⾝
$1为第⼀个参数,值为1
以此类推$2 $3
sed命令详解
sed命令详解
转载: 1.简介sed是⾮交互式的编辑器。它不会修改⽂件,除⾮使⽤shell重定向来保存结果。默认情况下,所有的输出⾏都被打印到屏幕上。sed编辑器逐⾏处理⽂件(或输⼊),并将结果发送到屏幕。具体过程如下:⾸先sed把当前正在处理的⾏保存在⼀个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的⾏,完成后把该⾏发送到屏幕上。sed每处理完⼀⾏就将其从临时缓冲区删除,然后将下⼀⾏读⼊,进⾏处理和显⽰。处理完输⼊⽂件的最后⼀⾏后,sed便结束运⾏。sed把每⼀⾏都存在临时缓冲区中,对这个副本进⾏编辑,所以不会修改原⽂件。 2.定址定址⽤于决定对哪些⾏进⾏编辑。地址的形式可以是数字、正则表达式、或⼆者的结合。如果没有指定地址,sed将处理输⼊⽂件的所有⾏。 地址是⼀个数字,则表⽰⾏号;是“$"符号,则表⽰最后⼀⾏。例如: sed -n '3p' datafile只打印第三⾏
只显⽰指定⾏范围的⽂件内容,例如:
# 只查看⽂件的第100⾏到第200⾏sed -n '100,200p' mysql_slow_query.log
地址是逗号分隔的,那么需要处理的地址是这两⾏之间的范围(包括这两⾏在内)。范围可以⽤数字、正则表达式、或⼆者的组合表⽰。例如:
sed '2,5d' datafile#删除第⼆到第五⾏sed '/My/,/You/d' datafile#删除包含"My"的⾏到包含"You"的⾏之间的⾏sed '/My/,10d' datafile#删除包含"My"的⾏到第⼗⾏的内容
3.命令与选项
sed命令告诉sed如何处理由地址指定的各输⼊⾏,如果没有指定地址则处理所有的输⼊⾏。
3.1 sed命令
命令 功能 a\ 在当前⾏后添加⼀⾏或多⾏。多⾏时除最后⼀⾏外,每⾏末尾需⽤“\”续⾏ c\ ⽤此符号后的新⽂本替换当前⾏中的⽂本。多⾏时除最后⼀⾏外,每⾏末尾需⽤"\"续⾏ i\ 在当前⾏之前插⼊⽂本。多⾏时除最后⼀⾏外,每⾏末尾需⽤"\"续⾏ d 删除⾏ h 把模式空间⾥的内容复制到暂存缓冲区 H 把模式空间⾥的内容追加到暂存缓冲区 g 把暂存缓冲区⾥的内容复制到模式空间,覆盖原有的内容 G 把暂存缓冲区的内容追加到模式空间⾥,追加在原有内容的后⾯ l 列出⾮打印字符 p 打印⾏ n 读⼊下⼀输⼊⾏,并从下⼀条命令⽽不是第⼀条命令开始对其的处理 q 结束或退出sed r 从⽂件中读取输⼊⾏ ! 对所选⾏以外的所有⾏应⽤命令 s ⽤⼀个字符串替换另⼀个 s ⽤⼀个字符串替换另⼀个 g 在⾏内进⾏全局替换 w 将所选的⾏写⼊⽂件 x 交换暂存缓冲区与模式空间的内容 y 将字符替换为另⼀字符(不能对正则表达式使⽤y命令)
linux下sed命令详解
linux下sed命令详解
sed:Stream Editor⽂本流编辑,sed是⼀个“⾮交互式的”⾯向字符流的编辑器。能同时处理多个⽂件多⾏的内容,可以不对原⽂件改动,把整个⽂件输⼊到
屏幕,可以把只匹配到模式的内容输⼊到屏幕上。还可以对原⽂件改动,但是不会再屏幕上返回结果。
sed命令的语法格式:
sed的命令格式: sed [option] 'sed command'filename
sed的脚本格式:sed [option] -f 'sed script'filename
sed命令的选项(option):
-n :只打印模式匹配的⾏
-e :直接在命令⾏模式上进⾏sed动作编辑,此为默认选项
-f :将sed的动作写在⼀个⽂件内,⽤–f filename 执⾏filename内的sed动作
-r :⽀持扩展表达式
-i :直接修改⽂件内容
sed在⽂件中查询⽂本的⽅式:
1)使⽤⾏号,可以是⼀个简单数字,或是⼀个⾏号范围
xx为⾏号
x,y表⽰⾏号从x到y
/pattern查询包含模式的⾏
/pattern /pattern查询包含两个模式的⾏
pattern/,x在给定⾏号上查询包含模式的⾏
x,/pattern/通过⾏号和模式查询匹配的⾏
x,y!查询不包含指定⾏号x和y的⾏
2)使⽤正则表达式、扩展正则表达式(必须结合-r选项)
^锚点⾏⾸的符合条件的内容,⽤法格式"^pattern"
$锚点⾏⾸的符合条件的内容,⽤法格式"pattern$"
^$空⽩⾏
.匹配任意单个字符
*匹配紧挨在前⾯的字符任意次(0,1,多次)
.*匹配任意长度的任意字符
\?匹配紧挨在前⾯的字符0次或1次
\{m,n\}匹配其前⾯的字符⾄少m次,⾄多n次
\{m,\}匹配其前⾯的字符⾄少m次
\{m\}精确匹配前⾯的m次\{0,n\}:0到n次
\
\>锚点词尾,⽤法格式:\>pattern
\单词锚点
分组,⽤法格式:pattern,引⽤\1,\2
[]匹配指定范围内的任意单个字符
