在日常运维中,经常需要监控某个进程,并打印某个进程的监控结果,通常需要打印匹配某个结果的行以及其前后各N行。...2)打印/opt/test中所有匹配"main is failed"的行及其前1行 [root@mq-master02 ~]# cat /opt/test |grep "main is failed"...3)打印/opt/test中所有匹配"main is failed"的行及其后1行 [root@mq-master02 ~]# cat /opt/test |grep "main is failed"...192.168.10.17 4)打印/opt/test中所有匹配"main is failed"的行及其前后各1行 [root@mq-master02 ~]# cat /opt/test |grep...192.168.10.17 5)把/opt/test中所有匹配"main is failed"的行及其前1行的结果打印到/root/result.log中,并加上时间 [root@mq-master02
一、匹配数字串 /flash/([0-9]+).htm 二、匹配不含双引号的字符串 ([^\”]+) 三、匹配一行 cnt\”>(.+)\n 四、匹配多行的...只能输入由26个英文字母组成的字符串:”^[A-Za-z]+”。只能输入由26个大写英文字母组成的字符串:”^[A-Z]+”。只能输入由26个小写英文字母组成的字符串:”^[a-z]+”。...只能输入由数字和26个英文字母组成的字符串:”^[A-Za-z0-9]+”。
sed命令解释器的sed脚本文件 option如下: n 不打印; sed不写编辑行到标准输出,缺省为打印所有行(编辑和未编辑),p命令可以用来打印编辑行 c 下一命令是编辑命令... y 传送字符 n 从另一个文本中读文本下一行,并附加在下一行 {} 在定位行执行的命令组 g 将模式2粘贴到/pattern n/ 基本...打印第1行到第3行 打印模式: sed -n '/movie/'p temp.txt 打印含movie的行 使用模式和行号查询: sed -n '3,/movie/'p temp.txt...正则表达式可以让用户通过使用一系列的特殊字符构建匹配模式,然后把匹配模式与数据文件、程序输入以及WEB页面的表单输入等目标对象进行比较,根据比较对象中是否包含匹配模式,执行相应的程序。 .../\bbom/ 因为上述正则表达式模式以“\b”定位符开头,所以可以与目标对象中以 “bomb”, 或 “bom”开头的字符串相匹配。
)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。...$ grep "bash" -vn demo.sh #显示demo.sh内不包含bash的行,并显示行号 查找以某内容开头的行 需运用正则表达式^...。...n 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。 N 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。 p 打印模板块的行。...y 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 子串匹配标记 & 已匹配字符串标记 3.6 元字符集 ^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。.../pattern/,m:被模式匹配到的第一行起到m行 n,m 表示从n行到第m行 n,+m 表示从n行起往后增加m行 n~m:步进:以n行为基准值,每次增加m行 3.8 组合多个表达式 sed
l 打印显示特殊字符(行尾以及tab标志) n 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。 N 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。...W file 写并追加模板块的第一行到file末尾。 ! 表示后面的命令对所有没有被选定的行发生作用。 = 打印当前行号码。 # 把注释扩展到下一个换行符以前。...y 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 子串匹配标记 & 已匹配字符串标记 sed元字符集-即正则表达式 ^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。...#把1~10行内所有abcde转变为大写, sed '1,10y/abcde/ABCDE/' file 特殊符号 {} 描述:包含在{}中的命令按照顺序执行,并且前面命令会影响后面的命令; #打印匹配字符串的下一行然后并打印...WeiyiGeek.实例 模式空间 n命令:打印下一行并且清空当前模式空间进入下一次循环 N命令:不清空当前模式空间,然后读入下一行以\n分隔两行; #n命令示例 #如果test被匹配,则移动到匹配行的下一行
pattern正则表达式主要参数: \:忽略正则表达式中特殊字符的原有含义。 ^:匹配正则表达式的开始行。 $: 匹配正则表达式的结束行。 \:到匹配正则表达式的行结束。...在Linux系统上,正则表达式通常被用来查找文本的模式,以及对文本执行“搜索-替换”操作和其它功能。...pattern正则表达式主要参数 ^ 行首定位符 /^my/ 匹配所有以my开头的行 $ 行尾定位符 /my$/ 匹配所有以my结尾的行 . ...$ sed -n '5,/^test/p' example 打印从第五行开始到第一个包含以test开始的行之间的所有行。...下一个n命令 $ sed '/test/{ n; s/aa/bb/; }' example 如果test被匹配,则移动到匹配行的下一行,替换这一行的aa,变为bb,并打印该行,然后继续。
’ filename 执行脚本中的sed处理命令 常用参数 -n :只打印模式匹配的行 -e :直接在命令行模式上进行sed动作编辑,此为默认选项 -f :将sed的动作写在一个文件内,用–f filename...n 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。 N 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。 p 打印模板块的行。 P(大写) 打印模板块的第一行。...W file 写并追加模板块的第一行到file末尾。 ! 表示后面的命令对所有没有被选定的行发生作用。 = 打印当前行号码。 # 把注释扩展到下一个换行符以前。...y 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 子串匹配标记 & 已匹配字符串标记 sed元字符集 符号 说明 ^ 匹配行开始,如:/^sed/匹配所有以sed开头的行。...\匹配单词的开始,如:/\<love/匹配包含以love开头的单词的行。 \> 匹配单词的结束,如/love\>/匹配包含以love结尾的单词的行。
#指定的行可以通过数字直接指定,也支持正则表达式匹配。 #写正则表达式的格式:/pattern/ 地址范围: (n,m):表示从n行开始,到m行结束这个范围的内容。...#地址范围也可以使用正则表达式表示: /pat1/,/pat2/ (第一个正则表达式之后到下一个正则表达式中间的内容) sed脚本的指令 p --- 内容打印 Ip --- 忽略大小写输出 d...root的行 sed -n '/root/p' /etc/passwd #打印从第三行到第六行的内容: sed -n '3,6p' /etc/passwd #打印以r开头到以g开头的行的中间那些行 ...g 保持空间数据覆盖模式空间 G 保持空间内容追加模式空间 #内容互换 x 两者内容互换 #匹配到的下一行内容--->模式空间 n 匹配行的下一行覆盖至模式空间 N 匹配行的下一行追加至模式空间.../ net.ifnames=0"/p' #打印偶数行 seq 10 | sed -n 'n;p' #n:读取到的行的下一行 #比如首先读取到的是第一行,因为有n,所以就以读到的内容的下一行内容覆盖当前读到的内容到模式空间
G # 获得内存缓冲区的内容,并追加到当前模板块文本的后面。 l # 列表不能打印字符的清单。 n # 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。...N # 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。 p # 打印模板块的行。 P # (大写) 打印模板块的第一行。 q # 退出Sed。...W file # 写并追加模板块的第一行到file末尾。 ! # 表示后面的命令对所有没有被选定的行发生作用。 = # 打印当前行号码。 # # 把注释扩展到下一个换行符以前。...y # 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 # 子串匹配标记 & # 已匹配字符串标记 sed元字符集 ^ # 匹配行开始,如:/^sed/匹配所有以sed开头的行。...命令 如果test被匹配,则移动到匹配行的下一行,替换这一行的aa,变为bb,并打印该行,然后继续: sed '/test/{n;s/aa/bb/;}' file 变形:y命令 把1~10行内所有abcde
n # 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。 N # 追加下一个输入行到模板块后面并在二者间嵌入一个新行,改变当前行号码。 p # 打印模板块的行。...W # 写并追加模板块的第一行到file末尾。 ! # 表示后面的命令对所有没有被选定的行发生作用。 = # 打印当前行号码。 # 把注释扩展到下一个换行符以前。...y # 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 # 子串匹配标记 & # 已匹配字符串标记 sed元字符集 ^ # 匹配行开始,如:/^sed/匹配所有以sed开头的行。...匹配单词的开始,如:/匹配包含以love开头的单词的行。 > # 匹配单词的结束,如/love>/匹配包含以love结尾的单词的行。...ba 是如果没有到第六行就跳转到a继续循环 下一个:n命令 如果test被匹配,则移动到匹配行的下一行,替换这一行的aa,变为bb,并打印该行,然后继续: sed '/test/{ n; s/aa/bb
例子3: echo -e 'hello world\nnihao' | sed -n 's/hello/A/p' 结果:A world/ 说明:-n选项后,再加p标记,只会把匹配并修改的内容打印了出来。...例子10: sed -n ‘s/i/A/p’ message 说明:加-p标记会把被替换的行打印出来,再加上-n选项会关闭模式空间打印模式,因此该命令的效果就是只显示被替换修改的行。...八、sed工作模式 1、模式空间和保持空间 模式空间初始化为空,处理完一行后会自动输出到屏幕并清除模式空间;保持空间初始化为一个空行,也就是默认带一个\n,处理完后不会自动清除。...,继续读取下一行的内容到模式空间,继续处理,依次循环处理。...n:读入下一行到模式空间,例:’4{n;d}’ 删除第5行。 N:追加下一行到模式空间,再把当前行和下一行同时应用后面的命令。 P:输出多行模式空间的第一部分,直到第一个嵌入的换行符位置。
grep 命令代表“全局正则表达式 print” ,它是 Linux 中最强大和最常用的命令之一。 ? grep 在一个或多个输入文件中搜索与给定模式匹配的行,并将每个匹配行写入标准输出。...命令的输出可以通过管道使用 grep 进行过滤,并且只有与给定模式匹配的行才会打印在终端上。...使用此选项时,grep 将匹配内容打印到以行号为前缀的标准输出。...默认情况下,grep 将模式解释为基本正则表达式,其中除元字符外的所有字符实际上都是匹配自身的正则表达式。 下面是最常用的元字符列表: 使用 ^ (插入符号)符号来匹配行开头的表达式。...扩展的正则表达式 若要将模式解释为扩展正则表达式,请使用-e (或 --extended-regexp)选项。 扩展的正则表达式包括所有基本元字符,以及用于创建更复杂、更强大的搜索模式的附加元字符。
G命令 保持和互换:h命令和x命令 脚本scriptfile 打印奇数行或偶数行 打印匹配字符串的下一行 Sed 命令格式 sed [options] 'command' file(s) sed [options...G # 获得内存缓冲区的内容,并追加到当前模板块文本的后面。 l # 列表不能打印字符的清单。 n # 读取下一个输入行,用下一个命令处理新的行而不是用第一个命令。...W file # 写并追加模板块的第一行到file末尾。 ! # 表示后面的命令对所有没有被选定的行发生作用。 = # 打印当前行号码。 # # 把注释扩展到下一个换行符以前。...y # 表示把一个字符翻译为另外的字符(但是不用于正则表达式) \1 # 子串匹配标记 & # 已匹配字符串标记 sed元字符集 ^ # 匹配行开始,如:/^sed/匹配所有以sed开头的行。...被匹配,则移动到匹配行的下一行,替换这一行的aa,变为bb,并打印该行,然后继续: sed '/test/{ n; s/aa/bb/; }' file 变形:y命令 把1~10行内所有abcde转变为大写
具体如下 元字符 功能 意思 ^ 匹配行首 表示以某个字符开头 $ 匹配行尾 表示以某个字符结尾 ^$ 空行的意思 表示空行的意思 ....-w 匹配整个单词 -E 使用ERE,相当于egrep -F 相当于fgrep,不支持正则表达式 举例子: 1、查找文件内容包含root的行数 2、查找文件内容不包含root的行 3、查找以s开头的行...-i 直接编辑文件 -i.bak 备份文件并原处编辑 script 地址定界 不给地址:对全文进行处理 单地址: #: 指定的行,$:最后一行 /pattern/:被此处模式所能够匹配到的每一行 地址范围...: #,# #,+# /pat1/,/pat2/ `#,/pat1/ ~:步进 1~2 奇数行 2~2 偶数行 编辑命令: d 删除模式空间匹配的行,并立即启用下一轮循环 p 打印当前模式空间内容...保存模式匹配的行至指定文件 r /path/somefile 读取指定文件的文本至模式空间中匹配到的行后 = 为模式空间中的行打印行号 !
当以递归模式运行时,grep输出文件的完整路径,后跟冒号以及与模式匹配的行的内容。默认情况下,grep中的模式是基本的正则表达式。...Grep提供了许多强大的选项来控制其输出: 标志 用法 -o 仅输出每行的匹配段,而不是每个匹配行的完整内容。 -n 打印每个匹配行的行号。...然后,grep根据指定的匹配模式过滤此输出,并仅输出匹配的行。.../example.com/logs/access.log | uniq 下一个示例使用替代模式来匹配不同日志中的IP地址。...此输出传递给grep,它过滤流并仅打印包含字符串“Subject”的行。 使用Grep过滤命令 grep可以用来过滤长时间的帮助文件。
grep 命令是一种强大的文本搜索工具,它能使用正则表达式,按照指定的模式去匹配,并把匹配的行打印出来。需要注意的是,grep 只支持匹配而不能替换匹配的内容,替换的功能可以由 sed 来完成。...文章中的示例 需要一个样例文件,文件内容如下: ? 1. 把包含 syslog 的行过滤出来 ? 2. 把以 ntp 开头的行过滤出来 ? 3. 把匹配 ntp 的行以及下边的两行过滤出来 ? 4....把包含 syslog 及上边的一行过滤出来 ? 5. 把包含 syslog 以及上、下一行内容过滤出来 ? 6. 过滤某个关键词,并输出行号 ? 7. 过滤不包含某关键词,并输出行号 ? 8....-A:除了匹配行,额外显示该行之后的N行 -B:除了匹配行,额外显示该行之前的N行 -C:除了匹配行,额外显示该行前后的N行 -c:统计匹配的行数 -e:实现多个选项间的逻辑 or 关系 -E:支持扩展的正则表达式...-F:相当于 fgrep -i:忽略大小写 -n:显示匹配的行号 -o:仅显示匹配到的字符串 -q:安静模式,不输出任何信息,脚本中常用 -s:不显示错误信息 -v:显示不被匹配到的行 -w:显示整个单词
,追加在原有内容的后面 l 列出非打印字符 p 打印行 n 读入下一输入行,并从下一条命令而不是第一条命令开始对其的处理 q 结束或退出 sed r 从文件中读取输入行 !...my 将被替换为**my** \匹配包含以 my 开头的单词的行 \> 词尾定位符 /my\>/ 匹配包含以 my 结尾的单词的行 x\{m\} 连续 m 个 x /9...sed -n '/my/p' datafile #选项-n取消sed默认的打印,p命令把匹配模式my的行打印一遍。 6.2 d 命令 命令 d 用于删除输入行。...sed -n '1,20s/My$/You/gp' datafile #取消默认输出,处理1到20行里匹配以My结尾的行,并将行尾的My替换为You,仅打印匹配行。...6.10 n 命令 sed 使用该命令获取输入文件的下一行,并将其读入到模式缓冲区中,任何 sed 命令都将应用到匹配行紧接着的下一行上。
G 把暂存缓冲区的内容追加到模式空间里,追加在原有内容的后面 l 列出非打印字符 p 打印行 n 读入下一输入行,并从下一条命令而不是第一条命令开始对其的处理 q 结束或退出sed...my将被替换为**my** \匹配包含以my开头的单词的行 \> 词尾定位符 /my\>/ 匹配包含以my结尾的单词的行 x\{m\} 连续m个x /...sed -n ‘/my/p’ datafile #选项-n取消sed默认的打印,p命令把匹配模式my的行打印一遍。 6.2 d命令 命令d用于删除输入行。...sed -n ‘1,20s/My$/You/gp’ datafile #取消默认输出,处理1到20行里匹配以My结尾的行,把行内所有的My替换为You,并打印到屏幕上。...6.9 c\ 命令 sed使用该命令将已有文本修改成新的文本。 6.10 n命令 sed使用该命令获取输入文件的下一行,并将其读入到模式缓冲区中,任何sed命令都将应用到匹配行紧接着的下一行上。
d:删除模式空间的所有行,并读下一行到模式空间。 D:删除模式空间的第一行,不读下一行到模式空间。...n:输出模式空间的行,读取下一行替换当前模式空间的行,接着执行下一条处理命令而不是第一条命令。 N:读入下一行,追加到模式空间行后面,此时模式空间中有两行。... 例1:给每行后面添加一行空行 例2:用sed模拟倒序(tac)打印的过程 例3.追加匹配行到文件末尾 例4:将一列内容变为一行 例5:求出1-100的求和 例6:打印输出奇数行和偶数行...例如:sed -n '\o^56op' datafile ^:行首定位符 /^my/ 匹配所有以my开头的行; $:行尾定位符 /my$/ 匹配所有以my结尾的行...test将被替换为*test* \匹配包含以my开头的单词的行; \>:词尾定位符 /my\>/ 匹配包含以my结尾的单词的行; x\{m\}:连续m个
;/pattern/ #查询包含模式的行;/pattern/pattern/ #查询包含两个模式的行;/pattern/,x #从与pattern的匹配行到x号行之间的行;x,/pattern/ #从x...匹配行前一行、后一行插入空行以及同时在匹配前后插入空行: sed ‘/jfedu/{x;p;x;}’ jfedu.txtsed ‘/jfedu/G’ jfedu.txtsed ‘/jfedu/{x;p;...AWK基本原理是逐行处理文件中的数据,查找与命令行中所给定内容相匹配的模式,如果发现匹配内容,则进行下一个编程步骤,如果找不到匹配内容,则 继续处理下一行。...(Global search regular expression(RE) ,GREP)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。...匹配除了换行符以外任意一个字符;.* 代表任意字符;^ 匹配行首,即以某个字符开头;$ 匹配行尾,即以某个字符结尾;\(..\) 标记匹配字符;[] 匹配中括号里的任意指定字符,但只匹配一个字符;[^]
领取专属 10元无门槛券
手把手带您无忧上云