[root@localhost ~]# sed -n "1,10s/^/#/gp" /etc/passw 【例】删除有数字的行 (-r:扩展正则表达式) # 查找有数字的行 [root@localhost ~]# sed -nr "/[0-9]+/p" /etc/fstab // -r 不需要把 +号转义 [root@localhost ~]# sed -n "/[0-9]\+/p" /etc/fstab # 删除有数字的行 ...
sed命令的匹配模式支持正则表达式的,默认只能支持基本正则表达式,如果需要支持扩展正则表达式,那么需要添加-r选项。 例子1: echo "hello world" | sed -r 's/(hello)|(world)/A/g' A A 六、数字定址和正则定址 1、关于定址的概念 默认情况下sed会对每一行内容进行匹配、处理、输出,某些情况不需要对处理的...
简单描述一下正则表达式的匹配过程,就是拿正则表达式所表示的字符串去和原文字符串内容去匹配,直到匹配到原文内容字符串中的一个完整子串就表示匹配成功。举个例子,有一行文件内容"this is better desk",这里用"esk"去匹配,匹配过程是这样的:首先拿e去匹配文件行内容,从this开始,直到better的e,第一个字符匹配成功,...
1)使用行号,可以是一个简单数字,或是一个行号范围 2)使用正则表达式、扩展正则表达式(必须结合-r选项) ###sed的匹配模式支持正则表达式### sed '5 q' /etc/passwd#打印前5行 sed -n '/r*t/p' /etc/passwd #打印匹配r有0个或者多个,后接一个t字符的行 sed -n '/.r.*/p' /etc/passwd #打印...
-r : 支持扩展正则表达式(sed中的正则表达式必须放在两个//中间) -f : 指定定位规则的文件 2、sed + 正则表达式(定位) 数字 固定定位 [root@localhost ~]# sed -n '2p' 1.txt 范围定位 [root@localhost ~]# sed -n '1,3p' 1.txt 正则 ...
正则表达式和sed的使用 正则表达式的使用 概念 是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的分割,匹配、査找及替换操作。即正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。 在正则表达式中,我们把用于匹配的特殊符号又称作元字符。在shell中,元字 符又分为基础元字...
1)sed命令可以使用行号或正则做为条件匹配: sed -n ‘3p’ /etc/passwd 打印第3行 sed -n ‘3,5p’ /etc/passwd 打印第3到5行 sed -n ‘3p;5p’ /etc/passwd 打印第3和5行 sed -n ‘3,+10p’ /etc/passwd 打印第3以及后面的10行
-r 让sed命令支持扩展的正则表达式(默认是基础正则表达式); -i 直接修改读取的文件内容,而不是由屏幕输出。 常用的命令有以下几种: a \: append即追加字符串, a \的后面跟上字符串s(多行字符串可以用\n分隔),则会在当前选择的行的后面都加上字符串s; ...
sed全名叫stream editor,流编辑器(也叫行编辑器),其处理文本的方式为一行一行的,不同于vi等全屏编辑器;主要用途为通过匹配一个或多个正则表达式来对文本进行处理,实现过滤和转换文本。 sed 的工作方式 sed 实用工具按顺序逐行将文件读入到内存中。然后,它执行为该行指定的所有操作,并在完成请求的修改之后将该行放...
扩展正则表达式使用频率上没有基本表达式那么高,但依然很重要,很多情况下没有扩展正则是搞不定的,sed 命令使用扩展正则时需要加上选项-r。 ?:表示前置字符有 0 个或 1 个; +:表示前置字符有 1 个或多个; |:表示匹配其中的一项即可; ():表示分组,(a|b)b表示可以匹配 ab 或 bb 子串,且命令表达式中可以...