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
浙公网安备 33010602011771号