关键词不能为空

当前您在: 主页 > 英语 >

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的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文