关键词不能为空

当前您在: 主页 > 英语 >

linux管道命令grep

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-03-03 08:39
tags:

-

2021年3月3日发(作者:释放压力)


功能说明:查找文件里符合条件的字符串。






法:


grep



[-abcEFGhHilLnqrsvVwxy][-A<


显示列数


>][-B<


显示列数


>][-C<

< br>显示列



>][-d<


进行动作


>][-e<


范本样式


>][-f<< /p>


范本文件


>][--help][


范本样 式


][


文件或目录


...]


补充说明:


grep


指令用于查找内 容包含指定的范本样式的文件,如果发现某文件的内容符


合所指定的范本样式,预设


grep


指令会把含有范本样式的那一列显示出来。若不指定任何< /p>


文件名称,或是所给予的文件名为



-< /p>



,则


grep


指令会从标准输入设备读取数据。






数:



-a



--t


ex

t


不要忽略二进制的数据。



-A<


显示列数


>



--after- context=<


显示列数


>


除了显示符合范本样式的那一列之外,并


显示该列之后的内容。



-b



--byte- off


set



在显示符合范本样 式的那一列之前,


标示出该列第一个字符的位编号。



-B<


显示列数


>



--before- context=<


显示列数


>


除了显示符合范本样式的那一列之外,


并显示该列之前的内容。



-c



--count


计算符合范本样式的列数。



-C <


显示列数


>



--context=<


显示列数


>



-<


显示列数


>


除了显示符合范本样式的那一


列之外,并显示该列之前后的内容。

< p>


-d<


进行动作


>



--directories=<


进 行动作


>


当指定要查找的是目录而非文件时,必须使


用这项参数,否则


grep


指令将回报信息 并停止动作。



-e<


范本样式< /p>


>



--regexp=<


范本样式


>


指定字符串做为查找文件内容的范本样式。



-E



--extended- regexp


将范本样式为延伸的普通表示法来使用。



-f<


范本文件


>



--


file


=<


范本文件


>


指定范本文件,其内容含有一 个或多个范本样式,让


grep


查找符合范本条件的文件内容, 格式为每列一个范本样式。



-F



--fixed-regexp


将范本样式视为固定字符串的列表。



-G



--basic-regexp


将范本样式视为普通的表示法来使用。



-h



--no- filename


在显示符合范本样式的那一列之前,不标示该列所属的文件名称 。



-H



--with-filename


在显示符合范本样式的那一列之前,表示该列所属的文件名称。



-i



--ignore- case


忽略字符大小写的差别。



-l



--file-with- matches


列出文件内容符合指定的范本样式的文件名称。



-L



--files- without-match


列出文件内容不符合指定的范本样式的文件名称。



-n



--line- number


在显示符合范本样式的那一列之前,标示出该列的列数编号。



-q



--quiet

< p>


--silent


不显示任何信息。



-r



--recursive


此参数的效果和指定



-d recurse



参数相同。



-s



--no- messages


不显示错误信息。



-v



--revert- match


反转查找。



-V



--version


显示版本信息。



-w



--word-regexp


只显示全字符合的列。



-x



--line-regexp


只显示全列符合的列。



-y


此参数的效果和指定



-


i”


参数相同。



--help


在线帮助。



linux grep


命令


的使用




grep


命令



搜索文本文件



来自



如果您要在几个文本文件中查找 一字符串,可以使用


&


ls


quo;g rep?


命令。


?grep?


在文本中 搜


索指定的字符串。



假设您正在


?/usr/src/linux/Documentation?


目录下搜索带字符串


?magic?


的文件:

< br>


$$ grep magic /usr/src/linux/Documentation/*


:* How do I


enable


the magic SysRQ key?


:* How do I use the magic SysRQ key?



其中文件


??


包含该字符串,讨论的是



SysRQ


的功能。



默认情况下,


?grep?


只搜索当前目录。


如果此目录下有许多 子目录,


?grep?


会以如下形式列出:


grep: sound: Is a directory

< br>这可能会使


?grep?


的输出难于阅读。这里有两种解 决的办法:



明确要求搜索子目录:


grep -r


或忽略子目录:


grep -d skip


当然,如果预料到有许多输出,您可以通过



管道



将其转到


?


less


?


上阅读



$$ grep magic /usr/src/linux/Documentation/* | less


这样,您就可以更方便地阅读。



有一 点要注意,


您必需提供一个文件过滤方式


(搜索全部文件的话用



*




如果您忘了,


?grep?


会一直等着,直 到该程序被中断。如果您遇到了这样的情况,按




,然后再试。



下面是一些有意思的命令行参数:



grep -i pattern files


:不区分大小写地搜索。默认情况区分大小写,



grep -l pattern files


:只列出匹配的文件名,



grep -L pattern files


:列出不匹配的文件名,



grep -w pattern files


:只匹配整个 单词,而不是字符串的一部分(如匹配


?magic?


,而不是


?magical?


),



grep -C number pattern files


:匹配的上下文分别显示


[number]


行,



grep pattern1 | pattern2 files


:显示匹配



pattern1




pattern2


的行,



grep pattern1 files | grep pattern2


:显示既匹配



pattern1


又匹配



pattern2


的行。



这里还有些用于搜索的特殊符号:



<




>


分别标注单词的开始与结尾。



例如:



grep man *


会匹配



?Batman?

< p>


?manic?



?m an?


等,



grep '


匹配


?manic?


< p>
?man?


,但不是


?Batman?

< p>



grep ''


只匹配


?man?


,而不是


? Batman?



?manic?


等其 他的字符串。



'^'


:指匹配的字符串在行首,



'$$'


:指匹配的字符串在行尾,


< /p>


如果您不习惯命令行参数,


可以试试图形界面的

< br>?grep?





reXgrep



这个软件提供


AND



OR


< br>NOT


等语法,还有漂亮的按钮



:-)


。如果您只是需要更清楚的输出,不妨试试



fungrep




.grep


搜索字符串



命令格式


:


grep s


tr


ing filename


寻 找字串的方法很多,比如说我想找所有以


M


开头的行

< p>
.


此时必须引进


pattern

< br>的观




.

以下是一些简单的



例,以及说明:



^M



M


开头的行,


^


表示开始的意思



M$$



M


结 尾的行,


$$


表示结束的意思



^[0-9]


以数字开始的行,


[]


内可列举字母



^[124ab] < /p>



1,2,4,a,


< br>b


开头的行



^b.503


句点表示任一字母



*


星号表示


0


个以上的字母


(


可以没有


)


+

加号表示


1


个以上的字母



.


斜线可以去掉特殊意义




cat



passwd


| grep ^b


列出大学部有申请帐号者名单



cat passwd | grep ^s


列出交换学生申请帐号者名单



cat passwd | grep '^b.503'


列出电机系各年级


...


grep '^.'


列出所有以句点开头的行



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


1. grep


简介




grep



global search regular


expr


ession(RE) and print out the line,


全面搜索


正则


表达 式并


把行打印出来)


是一种强大的文本搜索工具,


它能使用


正则表达式


搜索文本,

并把匹配的行


打印出来。


Unix



grep


家族包


< br>括


grep



egrep



fgrep



eg rep



fgrep


的命令只跟


grep


有很小不同。


egrep

< p>


grep


的扩展,支持更多的

< br>re


元字符,



fgrep


就是


fixed grep



fast


grep



它们把所有的字母都看作单词,


也就是说,


正则表达式中的元字符表示回其自身的字


面意义,不再特殊。< /p>


linux


使用


GNU

< br>版本的


grep


。它功能



更强,可以通过


-G


-E



-F


命令

< br>行选项来使用


egrep



fg rep


的功能。



grep

< p>
的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,


则必须被引用,


模板后的所有字符串被看作文件名。


搜 索的结果被送到屏幕,


不影响原文件


内容。


grep


可用于


shell


脚本,因为


grep


通过返回一个状态值来 说明搜索的状态,如果模板搜索


成功,则返回


0


,如果搜索不成功,则返回


1


,如果搜索的文件不存在 ,则返回


2


。我们利


用这些返回值就可 进行一些自动化的文本处理工作。





2. grep


正则表达式元字符集(基本集)




^


锚定行的开始



如:

< br>'^grep'


匹配所有以


grep

开头的行。



$$


锚定行的结束



如:

< br>'grep$$'


匹配所有以


grep

结尾的行。



匹配一个非换行符的字符



如:


'gr.p'


匹配


gr


后接一个任意字符,然后是


p




*


匹配零个或多个先前字符



如:


'*grep'


匹配所有一个或多个空格 后紧跟


grep


的行。


.*


一起


用代表任意字符。



[]


匹配一个指定范围内的字符,如


'[Gg]rep'


匹配


Grep


和< /p>


grep




[^]

-


-


-


-


-


-


-


-



本文更新与2021-03-03 08:39,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/698426.html

linux管道命令grep的相关文章

  • 余华爱情经典语录,余华爱情句子

    余华的经典语录——余华《第七天》40、我不怕死,一点都不怕,只怕再也不能看见你——余华《第七天》4可是我再也没遇到一个像福贵这样令我难忘的人了,对自己的经历如此清楚,

    语文
  • 心情低落的图片压抑,心情低落的图片发朋友圈

    心情压抑的图片(心太累没人理解的说说带图片)1、有时候很想找个人倾诉一下,却又不知从何说起,最终是什么也不说,只想快点睡过去,告诉自己,明天就好了。有时候,突然会觉得

    语文
  • 经典古训100句图片大全,古训名言警句

    古代经典励志名言100句译:好的药物味苦但对治病有利;忠言劝诫的话听起来不顺耳却对人的行为有利。3良言一句三冬暖,恶语伤人六月寒。喷泉的高度不会超过它的源头;一个人的事

    语文
  • 关于青春奋斗的名人名言鲁迅,关于青年奋斗的名言鲁迅

    鲁迅名言名句大全励志1、世上本没有路,走的人多了自然便成了路。下面是我整理的鲁迅先生的名言名句大全,希望对你有所帮助!当生存时,还是将遭践踏,将遭删刈,直至于死亡而

    语文
  • 三国群英单机版手游礼包码,三国群英手机单机版攻略

    三国群英传7五神兽洞有什么用那是多一个武将技能。青龙飞升召唤出东方的守护兽,神兽之一的青龙。玄武怒流召唤出北方的守护兽,神兽之一的玄武。白虎傲啸召唤出西方的守护兽,

    语文
  • 不收费的情感挽回专家电话,情感挽回免费咨询

    免费的情感挽回机构(揭秘情感挽回机构骗局)1、牛牛(化名)向上海市公安局金山分局报案,称自己为了挽回与女友的感情,被一家名为“实花教育咨询”的情感咨询机构诈骗4万余元。

    语文