shell基础八:文本过滤工具(grep)

shell中的文本处理工具(grep,sed,awk) shell中的文本处理工具一、grep1、grep的格式2、grep字符数量匹配规则3、示例二、sed1、sed的格式2、对字符的处理3、字符替换4、示例三、awk1、awk的格式2、示例 一、grep 文本搜索工具,可以使用正则表达式搜索文本,把匹配的行打印出来 grep支持正则表达式 egrep支持扩展的正则表达式 grep -E= egrep 1、grep的格式 grep 匹配条件 处理文件 -i 忽略大小写 -E “\<root" root字符之前不能有字符 阅读详情
比方以 grep 来说, 在 Linux 上你可找到 grep, egrep, fgrep 这几个程序, 其差异大致如下:

* grep:
传统的 grep 程序, 在没有参数的情况下, 只输出符合 RE 字符串之句子. 常见参数如下:
-v: 逆反模示, 只输出"不含" RE 字符串之句子.
-r: 递归模式, 可同时处理所有层级子目录里的文件.
-q: 静默模式, 不输出任何结果(stderr 除外. 常用以获取 return value, 符合为 true, 否则为 false .)
-i: 忽略大小写.
-w: 整词比对, 类似 /<word/> .
-n: 同时输出行号.
-c: 只输出符合比对的行数.
-l: 只输出符合比对的文件名称.
-o: 只输出符合 RE 的字符串. (gnu 新版独有, 不见得所有版本都支持.)
-E: 切换为 egrep .

* egrep:
为 grep 的扩充版本, 改良了许多传统 grep 不能或不便的操作. 比方说:
- grep 之下不支持 ? 与 + 这两种 modifier, 但 egrep 则可.
- grep 不支持 a|b 或 (abc|xyz) 这类"或一"比对, 但 egrep 则可.
- grep 在处理 {n,m} 时, 需用 /{ 与 /} 处理, 但 egrep 则不需.
诸如此类的... 我个人会建议能用 egrep 就不用 grep 啦... ^_^

* fgrep:
不作 RE 处理, 表达式仅作一般字符串处理, 所有 meta 均失去功能.


g r e p一般格式为:
代码:
grep [选项]基本正则表达式[文件]
这里基本正则表达式可为字符串。



单引号双引号
在g r e p命令中输入字符串参数时,最好将其用双引号括起来。

在调用模式匹配时,应使用单引号。

例如:“m y s t r i n g”。这样做有两个原因,一是以防被误解为s h e l l命令,二是可以用来查找多个单词组成的字符串。
在调用变量时,也应该使用双引号,诸如: g r e p“$ M Y VA R”文件名,如果不这样,将没有返回结果。


常用的g r e p选项有:

引用:
-c 只输出匹配行的计数。
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。


开始讨论之前,先生成一个文件,插入一段文本,并在每列后加入< Ta b >键,g r e p命令示例中绝大多数将以此为例,其命名为d a t a . . f。生成一个文件,d a t a . f的记录结构如下:

引用:
第1列:城市位置编号。
第2列:月份。
第3列:存储代码及出库年份。
第4列:产品代号。
第5列:产品统一标价。
第6列:标识号。
第7列:合格数量。


文件内容如下:
代码:
$ cat data.f
48      Dec     3BC1977 LPSX    68.00   LVX2A   138
483     Sept    5AP1996 USP     65.00   LVX2C   189
47      Oct     3ZL1998 LPSX    43.00   KVM9D   512
219     dec     2CC1999 CAD     23.00   PLV2C   68
484     nov     7PL1996 CAD     49.00   PLV2C   234
483     may     5PA1998 USP     37.00   KVM9D   644
216     sept    3ZL1998 USP     86.00   KVM9E   234



_________________
1、查询多个文件
在所有文件中查询单词“ sort it”
代码:
$ grep "sort it" *


2、 行匹配
1)显示包含“4 8”字符串的文本:
代码:
$ grep  "48"data.f


2)输出匹配行的总数
代码:
$ grep -c "48"data.f
4

g r e p返回数字4,表示:包含字符串“4 8”的有4行。

3)行数
显示满足匹配模式的所有行行数:
代码:
$ grep -n "48"data.f

行数在输出第一列,后跟包含4 8的每一匹配行。

4)显示非匹配行
显示所有不包含4 8的各行
代码:
$ grep -v "48"data.f


5)精确匹配
可能大家已注意到,在上一例中,抽取字符串“ 4 8”,返回结果包含诸如4 8 4和4 8 3等包含“4 8”的其他字符串,实际上应精确抽取只包含4 8的各行。
使用g r e p抽取精确匹配的一种更有效方式是在抽取字符串后加/ >。假定现在精确抽取4 8,方法如下:
代码:
$grep "48/>" data.f


引用:
另一种方法我试过,好像不行:
注意在每个匹配模式中抽取字符串后有一个< Ta b >键,所以应操作如下:
< Ta b >表示点击t a b键。
$grep "48<tab>" data.f


6)大小写敏感
缺省情况下, g r e p是大小写敏感的,如要查询大小写不敏感字符串,必须使用- i开关。在d a t a . f文件中有月份字符S e p t,既有大写也有小写,要取得此字符串大小写不敏感查询,方法如下:
代码:
$grep -i "48" data.f
grep和正则表达式

使用正则表达式使模式匹配加入一些规则,因此可以在抽取信息中加入更多选择。使用正则表达式时最好用单引号括起来,这样可以防止g r e p中使用的专有模式与一些s h e l l命令的特殊方式相混淆。

1、模式范围
抽取代码为4 8 4和4 8 3的城市位置,可以使用[ ]来指定字符串范围。
代码:
$ grep "48[34]" data.f
483     Sept    5AP1996 USP     65.00   LVX2C   189
484     nov     7PL1996 CAD     49.00   PLV2C   234
483     may     5PA1998 USP     37.00   KVM9D   644


2、不匹配行首
使行首不是4或8,可以在方括号中使用^记号。
代码:
$ grep "^[^48]" data.f
219     dec     2CC1999 CAD     23.00   PLV2C   68
216     sept    3ZL1998 USP     86.00   KVM9E   234


如果是字符串48
代码:
$ grep -v "^[^48]" data.f


3、设置大小写
使用- i开关可以屏蔽月份S e p t的大小写敏感
代码:
[sam@chenwy sam]$ grep -i "sept" data.f
483     Sept    5AP1996 USP     65.00   LVX2C   189
216     sept    3ZL1998 USP     86.00   KVM9E   234


也可以用另一种方式[ ]模式抽取各行包含S e p t和s e p t的所有信息。
代码:
[sam@chenwy sam]$ grep '[sS]ept' data.f


如果要抽取包含S e p t的所有月份,不管其大小写,并且此行包含字符串483,可以使用管道命令,即符号“|”左边命令的输出作为“ |”右边命令的输入。举例如下:
代码:
[sam@chenwy sam]$ grep '[sS]ept' data.f | grep 48
483     Sept    5AP1996 USP     65.00   LVX2C   189

不必将文件名放在第二个g r e p命令中,因为其输入信息来自于第一个g r e p命令的输出

4、匹配任意字符
如果抽取以K开头,以D结尾的所有代码,可使用下述方法,因为已知代码长度为5个字符:
代码:
[sam@chenwy sam]$ grep 'K...D' data.f
47      Oct     3ZL1998 LPSX    43.00   KVM9D   512
483     may     5PA1998 USP     37.00   KVM9D   644


将上述代码做轻微改变,头两个是大写字母,中间两个任意,并以C结尾:
代码:
[sam@chenwy sam]$ grep '[A-Z]..C' data.f
483     Sept    5AP1996 USP     65.00   LVX2C   189
219     dec     2CC1999 CAD     23.00   PLV2C   68
484     nov     7PL1996 CAD     49.00   PLV2C   234


5、日期查询
一个常用的查询模式是日期查询。先查询所有以5开始以1 9 9 6或1 9 9 8结尾的所有记录。使用模式5 . . 1 9 9 [ 6 , 8 ]。这意味着第一个字符为5,后跟两个点,接着是1 9 9,剩余两个数字是6或8。
代码:
[sam@chenwy sam]$ grep '5..199[6,8]' data.f
483     Sept    5AP1996 USP     65.00   LVX2C   189
483     may     5PA1998 USP     37.00   KVM9D   644


6、范围组合
必须学会使用[ ]抽取信息。假定要取得城市代码,第一个字符为0-9,第二个字符在0到5之间,第三个字符在0到6之间,使用下列模式即可实现。
代码:
[sam@chenwy sam]$ grep '[0-9][0-5[0-6]' data.f
48      Dec     3BC1977 LPSX    68.00   LVX2A   138
483     Sept    5AP1996 USP     65.00   LVX2C   189
47      Oct     3ZL1998 LPSX    43.00   KVM9D   512
219     dec     2CC1999 CAD     23.00   PLV2C   68
484     nov     7PL1996 CAD     49.00   PLV2C   234
483     may     5PA1998 USP     37.00   KVM9D   644
216     sept    3ZL1998 USP     86.00   KVM9E   234


这里返回很多信息,有想要的,也有不想要的。参照模式,返回结果是正确的,因此这里
代码:
[sam@chenwy sam]$ grep '^[0-9][0-5[0-6]' data.f
219     dec     2CC1999 CAD     23.00   PLV2C   68
216     sept    3ZL1998 USP     86.00   KVM9E   234
这样可以返回一个预期的正确结果。
以下要注意有无边界字符的区别
7、模式出现机率
抽取包含数字4至少重复出现两次的所有行,方法如下:
代码:
[sam@chenwy sam]$ grep '4/{2,/}' data.f
483     may     5PA1998 USP     37.00   KVM9D   644
上述语法指明数字4至少重复出现两次,注意有无边界字符的区别。
同样,抽取记录使之包含数字9 9 9(三个9),方法如下:
代码:
[sam@chenwy sam]$ grep '9/{3,/}' data.f
219     dec     2CC1999 CAD     23.00   PLV2C   68


如果要查询重复出现次数一定的所有行,语法如下,数字9重复出现两次或三次:
代码:
[sam@chenwy sam]$ grep '9/{3/}' data.f
219     dec     2CC1999 CAD     23.00   PLV2C   68
[sam@chenwy sam]$ grep '9/{2/}' data.f
483     Sept    5AP1996 USP     65.00   LVX2C   189
47      Oct     3ZL1998 LPSX    43.00   KVM9D   512
219     dec     2CC1999 CAD     23.00   PLV2C   68
484     nov     7PL1996 CAD     49.00   PLV2C   234


有时要查询重复出现次数在一定范围内,比如数字或字母重复出现2到6次,下例匹配数字8重复出现2到6次,并以3结尾:
代码:
[sam@chenwy sam]$ cat myfile
83
888883
8884
88883
[sam@chenwy sam]$ grep '8/{2,6/}3' myfile
888883
88883


8、使用grep匹配“与”或者“或”模式
g r e p命令加- E参数,这一扩展允许使用扩展模式匹配。例如,要抽取城市代码为2 1 9或2 1 6,方法如下:
代码:
[sam@chenwy sam]$ grep -E '219|216' data.f
219     dec     2CC1999 CAD     23.00   PLV2C   68
216     sept    3ZL1998 USP     86.00   KVM9E   234


9、空行
结合使用^和$可查询空行。使用- c参数显示总行数:
代码:
[sam@chenwy sam]$ grep -c '^$' myfile

使用- n参数显示实际在哪一行:
代码:
[sam@chenwy sam]$ grep -c '^$' myfile


10、匹配特殊字符
查询有特殊含义的字符,诸如$ . ' " * [] ^ | / + ? ,必须在特定字符前加/。假设要查询包含“.”的所有行,脚本如下:
代码:
[sam@chenwy sam]$ grep '/.' myfile


或者是一个双引号:
代码:
[sam@chenwy sam]$ grep '/"' myfile


以同样的方式,如要查询文件名c o n f t r o l l . c o n f(这是一个配置文件),脚本如下:
代码:
[sam@chenwy sam]$ grep 'conftroll/.conf' myfile


11、查询格式化文件名
使用正则表达式可匹配任意文件名。系统中对文本文件有其标准的命名格式。一般最多六个小写字符,后跟句点,接着是两个大写字符。
代码:
[sam@chenwy sam]$ grep '^[a-z]/{1,6/}/.[A-Z]/{1,2/}' filename

这个写法我不知道有没有错 icon_redface.gif icon_redface.gif icon_redface.gif

12 查询IP地址
要查看n n n . n n n网络地址,如果忘了第二部分中的其余部分,只知有两个句点,例如n n n . n n . .。要抽取其中所有nnn.nnn IP地址,使用[ 0 - 9 ] / { 3 / } / . [ 0 - 0 / { 3 / } /。含义是任意数字出现3次,后跟句点,接着是任意数字出现3次,后跟句点。
代码:
[0-9]/{3/}/.[0-9]/{3/}/.'

1、类名

g r e p允许使用国际字符模式匹配或匹配模式的类名形式。
类名及其等价的正则表达式类等价的正则表达式类等价的正则表达式
引用:
[ [ : u p p e r : ] ] [ A - Z ] [ [ : a l n u m : ] ] [ 0 - 9 a - zA-Z]
[ [ : l o w e r : ] ] [ a - z ] [ [ : s p a c e : ] ] 空格或t a b键
[ [ : d i g i t : ] ] [ 0 - 9 ] [ [ : a l p h a : ] ] [ a - z A - Z ]


例一:取以5开头,后跟至少两个大写字母:
代码:
$grep '5[[:upper:]][[:upper]]' data.f


取以P或D结尾的所有产品代码:
代码:
grep '[[:upper:]][[:upper:]][P,D]' data.f


2、使用通配符*的匹配模式
代码:
$cat testfile
looks
likes
looker
long


试试如下:
代码:
grep "l.*s" testfile


如在行尾查询某一单词,试如下模式:
代码:
grep "ng$" testfile

这将在所有文件中查询行尾包含单词ng的所有行。

3、系统grep

文件passwd
代码:
[root@Linux_chenwy sam]# grep "sam" /etc/passwd
sam:x:506:4::/usr/sam:/bin/bash

上述脚本查询/ e t c / p a s s w d文件是否包含sam字符串

如果误输入以下脚本:
代码:
[root@Linux_chenwy sam]# grep "sam" /etc/password
grep: /etc/password: 没有那个文件或目录

将返回g r e p命令错误代码'No such file or directory'。
上述结果表明输入文件名不存在,使用g r e p命令- s开关,可屏蔽错误信息。
返回命令提示符,而没有文件不存在的错误提示。
代码:
[root@Linux_chenwy sam]# grep -s "sam" /etc/password

如果g r e p命令不支持- s开关,可替代使用以下命令:
代码:
[root@Linux_chenwy sam]# grep "sam" /tec/password >/dev/null 2>&1

脚本含义是匹配命令输出或错误( 2 > $ 1),并将结果输出到系统池。大多数系统管理员称/ d e v / n u l l为比特池,没关系,可以将之看成一个无底洞,有进没有出,永远也不会填满。

上述两个例子并不算好,因为这里的目的只想知道查询是否成功。

如要保存g r e p命令的查询结果,可将命令输出重定向到一个文件。
代码:
[root@Linux_chenwy sam]# grep "sam" /etc/passwd >/usr/sam/passwd.out
[root@Linux_chenwy sam]# cat /usr/sam/passwd.out
sam:x:506:4::/usr/sam:/bin/bash

脚本将输出重定向到目录/ t m p下文件p a s s w d . o u t中。

使用ps命令
使用带有ps x命令的g r e p可查询系统上运行的进程。ps x命令意为显示系统上运行的所有进程列表。要查看D N S服务器是否正在运行(通常称为n a m e d),方法如下:
代码:
[root@Linux_chenwy sam]# ps ax|grep "named"
2897 pts/1    S      0:00 grep named

输出也应包含此g r e p命令,因为g r e p命令创建了相应进程, ps x将找到它。在g r e p命令中使用- v选项可丢弃p s命令中的g r e p进程。如果ps x不适用于用户系统,替代使用ps -ef。这里,由于我没有DNS服务,因而只有grep进程。

对一个字符串使用grep
g r e p不只应用于文件,也可应用于字符串。为此使用e c h o字符串命令,然后对g r e p命令使用管道输入。
代码:
[root@Linux_chenwy sam]# STR="Mary Joe Peter Pauline"
[root@Linux_chenwy sam]# echo $STR | grep "Mary"
Mary Joe Peter Pauline
匹配成功实现。

代码:
[root@Linux_chenwy sam]# echo $STR | grep "Simon"
因为没有匹配字符串,所以没有输出结果。

4、egrep
e g r e p代表e x p r e s s i o n或extended grep,适情况而定。e g r e p接受所有的正则表达式, e g r e p的一个显著特性是可以以一个文件作为保存的字符串,然后将之传给e g r e p作为参数,为此使用- f开关。如果创建一个名为g r e p s t r i n g s的文件,并输入4 8 4和4 7:
代码:
[root@Linux_chenwy sam]# vi grepstrings
[root@Linux_chenwy sam]# cat grepstrings
484
47


代码:
[root@Linux_chenwy sam]# egrep -f grepstrings data.f
47      Oct     3ZL1998 LPSX    43.00   KVM9D   512
484     nov     7PL1996 CAD     49.00   PLV2C   234

上述脚本匹配d a t a . f中包含4 8 4或4 7的所有记录。当匹配大量模式时, - f开关很有用,而在一个命令行中敲入这些模式显然极为繁琐。

如果要查询存储代码3 2 L或2 C C,可以使用(|)符号,意即“|”符号两边之一或全部。
代码:
[root@Linux_chenwy sam]# egrep '(3ZL|2CC)' data.f
47      Oct     3ZL1998 LPSX    43.00   KVM9D   512
219     dec     2CC1999 CAD     23.00   PLV2C   68
216     sept    3ZL1998 USP     86.00   KVM9E   234


可以使用任意多竖线符“ |”,例如要查看在系统中是否有帐号l o u i s e、m a t t y或pauline ,使用w h o命令并管道输出至e g r e p。
代码:
$who |egrep (louise|matty|pauline)


还可以使用^符号排除字符串。如果要查看系统上的用户,但不包括m a t t y和p a u l i n e,方法如下:
代码:
$who |egrep -v '^(matty|pauline)'


如果要查询一个文件列表,包括s h u t d o w n、s h u t d o w n s、r e b o o t和r e b o o t s,使用e g r e p可容易地实现。
代码:
$egrep '(shutdown |reboot) (s)?' *









Linux系统shell脚本之过滤文本关键字 阅读详情

相关推荐

AI 自动生成商业计划书:AIGC 如何助力创业者?

在创业的早期阶段,商业计划书(Business Plan)是至关重要的。它不仅用于吸引投资者、明确发展路径,还能帮助团队对业务模式、市场定位和财务预测有清晰认知。然而,撰写一份高质量的商业计划书往往需要投入大量时间和精力。如今,AIGC(AI Generated Content,人工智能生成内容)技术正在改变这一现状。借助 AIGC,创业者可以更快速、高效地创建商业计划书,并通过 AI 进行优化和数据分析。

2401_82808034的博客 3779

Shell编程(四)文本过滤

文本过滤 简介:正则表达式、find介绍、grep介绍、awk介绍、sed介绍、合并与分割(sort、uniq、join、cut、paste、split)。 正则表达式 概念:一种用来描述文本模式的特殊语法 由普通字符(例如:字符a到z),以及特殊字符(元字符,如/ * ?等)组成匹配的字符串 文本过滤工具在某种模式之下,都支持正则表达式。 基本元字符集及其含义 练习 ...

coolwriter的博客 2947

车载测试工程师必备:5分钟搞定CANoe台架搭建(附DBC导入技巧)

本文为车载测试工程师提供快速搭建CANoe测试台架的实用指南,涵盖硬件连接、DBC文件导入及常见报错解决方案。通过详细步骤和高效技巧,帮助工程师在5分钟内完成台架搭建,提升车载测试效率,特别适合紧急功能验证场景。

potato的博客 812

shell脚本命令筛选特定字符

提取路径中最后一个斜杠(/)后面的字符串 提取路径中最后一个斜杠(/)之前的字符串

L888666Q的博客 1539

海康读码器上位机开发避坑指南:IDMVS客户端之外,如何用C# SDK搞定扫码、数据比对与实时控制?

本文详细介绍了如何利用海康读码器的C# SDK进行二次开发,实现从基础扫码到复杂工业控制的全流程解决方案。内容涵盖SDK架构解析、多设备管理系统构建、业务逻辑与设备控制实现,以及系统集成与性能优化等关键环节,为工业自动化领域的开发者提供实用指南。

weixin_30642561的博客 550

2-6-1-1 QNX编程入门之进程和线程(一)

文章围绕进程和线程展开介绍。先是将进程类比为房子,线程类比为居住者,阐述其基本概念,如进程占用内存,线程可共享内存。接着讲解同步相关内容,介绍了互斥,线程通过互斥锁来控制对特定资源的访问,像使用浴室一样。还提到优先级,线程按优先级和等待时长来决定获取资源顺序。此外,说明了信号量,以厨房为例,区分计数为 1 和大于 1 的信号情况,且指出信号量可当互斥锁用,但互斥锁是特殊用途信号量,二者存在区别,最后提及后续会介绍其他同步机制。

星原飞火的博客 1323

【Shell】shell字符串过滤

Shell字符串过滤 服务器做CppCheck时,需要过滤一些Check的文件。比如MakeFile、证书文件等等。 方式很多,这里采用了字符串过滤,将非检测的文件过滤掉。 过滤check文件脚本 # filter filter_make_file="Makefile" filter_pem_file=".pem" count=-1 # files_array变量包含了所有要检测的文件(过滤...

林多 6550

机器视觉避坑指南:为什么你的Halcon划痕检测总漏检?(附优化方案)

本文深入剖析了Halcon在表面划痕检测中漏检率高的常见原因,如灰度值波动、噪声干扰及形态学参数设置不当。针对复杂背景与低对比度划痕,提出了超越官方例程的多尺度纹理分析与特征融合优化方案,旨在帮助开发者构建更鲁棒、稳定的机器视觉检测流程,有效提升检出率。

weixin_29057163的博客 234

linux shell 字符串处理过滤方法

1.grep 文本过滤命令 grep中的正则表达式 ^westos #以westos开头 westos$ #以westos结尾 'w....s' 'w.....' '.....s' grep -E = egrep 应用: cp /etc/passwd /mnt cd /mnt vim /mnt/passwd 添加(为后边的实验效果做准备): test:test:root ROOT:test:test test:root:test grep ^root pas.

gpio_01的博客 5558

用 ADT 连接 SAP S/4HANA Public Cloud 开发租户的完整落地指南

摘要:在SAP S/4HANA公有云中进行ABAP开发时,必须使用Development Tenant(客户端080)而非Customizing Tenant(客户端100)连接ADT工具。开发用户需具备SAP_BR_DEVELOPER角色且写权限不受限,开发对象应创建在结构包的子包中。连接前需确认正确的ABAP服务URL(通常为Launchpad URL去掉"/ui"),并通过运行控制台程序验证全链路功能。典型开发场景如通过BAdI实现业务校验时,需遵循Clean Core原则在指定包

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 335

微信小程序:使用mqtt手机屏幕锁屏后导致中断问题,让mqtt在手机黑屏后依然能保持连接及持续后台运行接收或处理任务,详解微信小程序MQTT在应用退到后台或手机熄屏的情况下自动检测并重连【强制保活】

微信小程序切后台后MQTT连接无法维持,微信小程序MQTT一旦用户锁屏、切换到后台或手机熄屏,连接就会断开,导致无法继续监听和处理业务消息,微信小程序mqtt保活方案,微信小程序屏幕锁屏或息屏导致mqtt连接中断怎么办,如何解决MQTT不能黑屏持续连接的问题,微信小程序应用退到后台 MQTT连接断开问题解决,苹果ios手机,安卓手机,uniapp微信小程序mqtt断开怎么解决,后台应用怎么保活,uni-app中MQTT连接频繁断开如何解决?应用退到后台后MQTT连接断开以及常连接断连的问题,微信小程序、MQ

✅ 精选推荐文章 3026

shell 中的文本处理工具(一)grep 文本过滤命令

1.grep: 文本过滤命令 Global search regular expression and print out the line 全面搜索研究正则表达式并显示出来 2.grep 命令是一种强大的文本搜索工具 , 根据用户指定的“模 式”对目标文本进行匹配检查 , 打印匹配到的行 由正则表达式或者字符及基本文本字符所编写的过滤条件 3.grep 的格式 grep 匹配条...

Sparks _Fly 1130

CKA-CN考试之路----2

部分知道就可以了,考试不用输入,后面不再复述.这里我们需要将两端内容凭借成1个yaml。执行题目中给的的命令进行测试。

Q先生 241

shell编程之文本三剑客grep、sed、awk

Shell编程中的文本三剑客(grep、sed、awk)是Linux/Unix环境下最强大的文本处理工具组合,各自擅长不同的文本处理场景grep‌功能:文本过滤工具,主要用于搜索匹配特定模式的行应用场景:日志过滤、配置文件检查sed‌功能:流编辑器,擅长行级文本编辑工作流程:读取→执行→显示循环处理每行文本awk‌功能:文本分析工具,擅长列处理和格式化输出应用场景:数据统计、报表生成三者的典型配合:先用grep筛选目标行,再用sed进行编辑处理,最后用awk格式化输出和分析核心功能。

jeffry__jiang的博客 1917

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Linux文本处理工具和Shell编程基础

变量的生效范围等标准划分变量类型普通变量:生效范围为当前shell进程;对当前shell之外的其它shell进程,包括当前shell的子shell 进程均无效环境变量:生效范围为当前shell进程及其子进程本地变量:生效范围为当前shell进程中某代码片断,通常指函数value 可以是以下多种形式name='root' #直接字串name="$USER" #变量引用name=`COMMAND` #命令引用name=$(COMMAND) #命令引用。

qq_40780313的博客 2691

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

shell编程之文本搜索工具grep

在进行程序设计的过程中,用户会不可避免地遇到处理某些文本的情况。有的时候,用户还需要查找符合某些比较复杂规则的字符串。对于这些情况,如果单纯依靠程序设计语言本身,则往往会使得用户通过复杂的代码来实现。但是,如果使用正则表达式,则会以非常简短的代码来完成。正则表达式是通过一些特殊字符的排列,用以查找、替换、删除一行或多行文字字符串,简单的说,正则表达式就是用在字符串的处理上面的一项表示式。由于正则表达式语法简练,功能强大,得到了许多程序设计语言的支持,包括Java、C++、Perl以及Shell等。

2301_76311591的博客 1091

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

shell文本三剑客 awk 和 grep

grep主要用于过滤文本,sed用于修改文本,而awk则擅长处理和格式化文本。

2401_83330816的博客 1005

shell中的文本处理(grep,sed,awk命令)

grep    文本过滤命令sed    行编辑器awk    报告生成器一、grep命令grep       匹配条件   处理文件-a 不要忽略二进制数据。 -A&lt;显示列数&gt; 除了显示符合范本样式的那一行之外,并显示该行之后的内容。 -b 在显示符合范本样式的那一行之外,并显示该行之前的内容。 -c 计算符合范本样式的列数。 -C&lt;显示列数&gt;或-&lt;显示列数&gt;...

su_use的博客 1万+

Shell 文本工具(grep、sed、awk)

Shell 文本工具(grep、sed、awk)一.grep1.介绍2.grep格式3.grep常用参数4.grep 字符数量匹配规则<1>实验环境:grep 字符数量匹配规则二、sed 对字符的处理1.p 显示2.d 删除3.a 添加4.c 替换5.w 写入6. i 插入7. r 整合8.字符替换三、awk总结 一.grep 1.介绍 grep的全称是global regular expression print,是linux中最强大的文本搜索命令之一,常用于搜索文本文件中是否含有某...

weixin_47727383的博客 471

shell文本处理三核心:grep(过滤匹配)、sed(流编辑)、awk(结构化分析)

正则表达式是模式模板,用于字符串的分割、匹配、查找、替换操作,本质是通过特殊字符排序实现对文本的批量处理(删除、查找、替换单行/多行字符串)。数据流 → 正则表达式 → (1)匹配的数据(保留/处理) (2)滤掉的数据(丢弃)

Akshsjsjenjd的博客 1348

grep文本过滤命令

1.Global search regular expression and print out the line(全面搜索研究正则表达示并显示出来) 2.grep 命令是一种强大的文本搜索工具,根据用户指定的“模式”对目标文本进行匹配检查,打印匹配到的行 3.由正则表达示或者字符及基本文本字符所编写的过滤条件 4.grep 的格式 grep 匹配条件 处理文件 例如: grep root pas...

qq_44236589的博客 699
上一篇: xp_cmdshell
下一篇: shell基础九:awk
superhacker110
博客等级 码龄22年 2粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值