grep 换行符 grep 回车 | 您所在的位置:网站首页 › grep回车换行符 › grep 换行符 grep 回车 |
[FILE …] 中可以指定多个文件 grep在每个文件中搜索PATTERNS。 PATTERNS是由换行符分隔的一个或多个模式(?),grep打印与该模式匹配的每一行。 通常,在shell命令中使用grep时,应将PATTERNS引起来。 文件“-”代表标准输入。 如果未提供FILE,则递归搜索将检查工作目录,而非递归搜索将读取标准输入。 此外,变体程序egrep,fgrep和rgrep分别与grep -E,grep -F和grep -r相同。 不建议使用这些变体,但提供这些变体是为了向后兼容。 在grep命令中输入字符串参数时,最好将其用双引号括起来。例如:”my string”。这样做有两个原因,一是以防被误解为 shell命令,二是可以用来查找多个单词组成的字符串,例如:”jet plane”,如果不用双引号将其括起来,那么单词 plane将被误认为是一个文件,查询结果将返回”文件不存在”的错误信息。 在调用变量时,也应该使用双引号,诸如: grep ”$MYVAR”文件名,如果不这样,将 没有返回结果。 Pattern SyntaxE参数将Patterns解析为extended regular expressions (EREs) F参数将Patterns解析为普通字符串,而不是正则表达式 G参数将Patterns解析为basic regular expressions (BREs),这是默认的 P参数将Patterns解析为Perl-compatible regular expressions (PCREs) 注意:!!!basic regular expressions (BREs)中‘?’, ‘+’, ‘{’, ‘|’, ‘(’, and ‘)’都没有特殊含义! 如下例子 注记:Pattern还是尽量使用双引号括起来,第一个有输出是因为shell语法先把?解析成了?,而第二个没有解析,第三个是推荐的写法 不使用E参数,使用BREs的话,得往特殊字符前面添加\才能作为特殊字符使用! 在默认的C语言环境中,[a-d]等效于[abcd]。 许多语言环境都按字典顺序对字符进行排序,在这些语言环境中,[a-d]通常不等同于[abcd]; 例如,它可能等效于[aBbCcDd]。 要获得括号表达式的传统解释,可以通过将LC_ALL环境变量设置为值C来使用C语言环境。 默认地表示字符集合方法如下 纯数字:[[:digit:]]或[0-9] 小写字母:[[:lower:]]或[a-z] 大写字母:[[:upper:]]或[A-Z] 大小写字母:[[:alpha:]]或[a-zA-Z] 数字加字母:[[:alnum:]]或[0-9a-zA-Z] 空白字符:[[:space:]] 标点符号:[[:punct:]]注意:!!!EREs和BREs都不支持\d,\s,\D,\S,\w,\W这种表示字符集合的方法!只支持上面讲的两种方法 大多数元字符在方括号表达式内都失去了特殊的含义。要包含 ] ,得把它放到[] 里面的第一个位置 如下例,使用x参数要求整行全部匹配,第二个命令没有输出 e和f参数指定patterns的来源,f参数指定从FILE中读取PATTERNS e参数存在的意义在于 要使用 -e 选项来搜索匹配 ‘–test–’ 字符串,如果不使用 -e 选项,grep 命令会试图把 ‘–test–’ 当作自己的选项参数来解析: grep -e ‘–test–’ 文件名 默认是区分大小写来匹配的,使用i参数来忽略大小写 反向匹配,即匹配成功的那些不输出,输出没匹配的 要求一整行全部匹配模式,可以在正则表达式中使用^和$来实现 General Output Control抑制正常输出,而是为每个输入文件打印匹配行数 L参数抑制正常输出,而是打印那些文件内容没有匹配的文件名 l参数抑制正常输出,而是打印那些文件内容有匹配上的文件名 因此扫描文件时,在第一次匹配后就停止扫描该文件 在NUM条匹配的行之后停止读取该文件。 只打印匹配的那一部分内容,默认是打印匹配的那一行数据(这一行数据有部分内容匹配成功patterns,除非使用x参数,要求整行数据都匹配) Output Line Prefix Controln参数:在输出的每一行之前还输出行号(文件中行号从1开始) b参数:打印每行输出在文件中的byte-offset(文件中byte-offset从0开始) H参数:每行输出都打印文件名(有多个输入文件时,这是默认的) h参数:每行输出前不打印文件名(只有一个输入文件或者只有标准输入时这是默认的) Context Line Control在匹配的行之后打印NUM行尾随的上下文context。 在连续的匹配组之间放置包含组分隔符(-)的行。 使用-o或–only-matching选项,此选项无效,并且会给出警告。 在匹配的行之后打印NUM行前面的上下文context。 在匹配的行之后打印NUM行上下文context。 File and Directory Selection把二进制文件当作text文件来处理 输入文件是一个device,FIFO或者是socket时,使用ACTION来处理它 ACTION为read时,则直接当成普通文件读取,为skip时,则跳过 r和R参数都指定为递归读取文件夹里的文件,如果file参数没有指定的话,则在当前路径进行递归遍历 两者区别在于R是解引用递归(dereference recursive),对所有的软链接都会递归遍历进去,而r是只有当they are on the command line(什么意思?)时,才遍历软链接 –exclude=GLOB 跳过匹配GLOB的文件名, BLOB中可以使用* ? […]作为通配符,可以使用\来引用它们的本义 –exclude-from=FILE 从FILE中读取BLOB,然后跳过匹配的文件 跟–exclude=GLOB相反,只处理匹配成功的那些文件 跳过匹配GLOB的文件夹
|
CopyRight 2018-2019 实验室设备网 版权所有 |