导航

grep选项随笔

    grep命令操作的是源文件的副本,不影响原文件内容

    格式:grep [选项] [模式] [文件....]     

    选项及其意义:

输出控制:

-c,--count              只打印每个<文件>中的匹配行的数目

 默认grep打印包含匹配的文件名和匹配行文本,--count选项只显示匹配行的数目

 

-H, --with-filename           为输出行(匹配模式的文件)打印文件名  print the file name for each match

grep默认打印文件名,所以这个参数具体的运用于什么地方还不清楚

 

-h, --no-filename            输出时不显示文件名前缀 supperss the file name prefix on output

grep多文件输出默认输出文件名前缀,所以才说grep的--with-filename不知道运用与哪个地方巧妙

--no-filename 将文件名前缀隐藏了

 

-l, --files-with-matches          只打印有匹配的 <文件>的名称(打印匹配要求的文件名)

-L,--files-without-match         只打印没有匹配上的<文件>的名称

files 文件  match匹配,  with 匹配的文件名,  without 不匹配的文件名

(--with-filename 显示文件名, --no-filename 隐藏文件名;  --files-with-matches 只打印匹配的文件名, --files-without-match 只打印不匹配的文件名)

晕了

 

-n, --line-number              列出所有的匹配行,并显示行号  print line number with output lines

 

-r, --recursive                递归搜索,子目录也搜索

--recursive 不仅仅搜索当前目录下文件匹配模式"ftp" ,同时搜索其子目录

 

-q, --quiet                  不显示所有常规输出,退出状态0表示搜索成功,1表示未搜索到满足模式的文本行,2表示命令或程序错误

                       --quiet配合witch循环使用,作为witch循环条件

 

 

模式选择与解释:

-i,--ignore-case                在模式和数据中忽略大小写

 -W, --word-regexp                强制<模式>仅完全匹配单词

grep命令的模式不仅支持变量,也支持正则表达式,正则表达式的元字符将被解释成特殊的含义

-w选项表示匹配整词

-x,--line-regexp                  强制<模式>仅完全匹配整行

-w匹配整词与正则表达式\<\>的含义是一样的。匹配一个单词,同时支持正则表达式来匹配。-x匹配整行,与正则表达式^\<\>$效果一样

 

-E                         <模式>是扩展正则表达式

-F                          <模式>不支持正则表达式

 

杂项:

-s, --no-messages                   不显示错误信息

使用--no-messages参数,则grep未提示未找到user目录

-v, --invert-match                      显示不匹配的行

grep工具本身自带的参数结合正则表达式,可以变化无穷的处理各种文本姿势

 

END

posted on 2021-02-05 23:58    阅读(159)  评论(0)    收藏  举报