您的位置:首页 > 其它

mac下man grep的翻译,各个选项了解了下,大家可参考

2017-09-07 16:41 344 查看
文件模式搜索:
grep, egrep, fgrep, zgrep, zegrep, zfgrep

上述几个命令的区别:
grep - 简单模式以及基本的正则
egrep - 扩展的正则
fgrep - 比grep和egrep都快,只进行 '字符串匹配'
zgrep, zegrep, zfgrep 和 grep, egrep, fgrep 类似,唯一区别是:z系列grep,支持压缩文件的搜索(compress, gzip)

命令格式:
grep [-abcdDEFGHhIiJLlmnOopqRSsUVvwxZ] [-A num] [-B num] [-C[num]] [-e pattern] [-f file] [--binary-files=value] [--color[=when]] [--colour[=when]] [--context[=num]] [--label] [--line-buffered] [--null] [pattern] [file ...]

命令选项:
1.-A num		// 除了搜索到的行,还显示该行后面的几行
--after-context=num
2.-B num		// 除了搜索到的行,还显示该行前面的几行
--before-context=num
3.-C num		// 除了搜索到的行,还显示该行前面和后面的几行。默认值是2.
--context=num

4.-a 			// 将所有文件当做二进制文件。默认,如果文件包含二进制字符,grep将会输出 'Binary file ... matches'。使用这个参数,对二进制文件也进行匹配搜索
--text
5.-b 			// 匹配到的字符串,在当前匹配行的字节偏移,写在最前面
--byte-offset
6.-c 			// 输出匹配到的行个数
--count
7.--color[=when]	// 对匹配的内容,添加颜色,颜色采用 'GREP_COLOR' 环境变量。when-什么时候给内容添加颜色,可选的值有:never, always, auto。
--colour[=when]
8.-D action		// 当我们搜索的文件是设备时,例如:FIFO、Socket,使用该选项来指定处理行为。默认的action是 'read',代表,把这些设备当做普通文件来读取;设置为 'skip',则跳过这些设备文件。
--devices=action
9.-d action 	// 当我们搜索的文件是目录时,使用该选项来指定处理行为。默认的action是 'read',当做普通文件读取;设置为 'skip',则忽略目录的搜索;设置为 'recurse',表示递归搜索目录下的所有文件,等同于 '-R' 或 '-r' 目录。
--directories=action
10.-E 			// 使用 '扩展的正则',等同于 'egrep'
--extended-regexp
11.-e pattern	// 指定搜索时使用的模式匹配。只要匹配到指定模式的任何一个即可。当使用多个 '-e' 选项时,非常有用!(模式好像也可以直接以 '-' 开头,例如:-dongxuemin)
--regexp=pattern

12.--include
13.--exclude
包含或排除指定的文件,--exclude优先于--include,先排除,后包含。模式匹配的是指定文件的完整路径,而不是文件名部分

14.--include-dir
15.--exclude-dir
包含或排除指定的目录,--exclude-dir优先于--include-dir,先排除,后包含。如果使用了 '-R' 选项,则递归包含或排除所有的问题。

16.-F 			// 只进行 '字符串匹配',等同于 'fgrep'
--fixed-strings
17.-f file 		// 从文件中,读取一个或多个换行符分割的模式。空行模式匹配到所有行。换行符不作为模式的一部分。如果文件为空,不会匹配到任何内容。
--file=file

18.-G 			// 使用 '基本的正则',等同于 '将grep当做传统的grep'(这点不太懂...)
--basic-regexp
19.-H 			// 同时输出匹配内容所在的文件名。如果指定了多个搜索文件,该行为默认
20.-h 			// 从不输出匹配内容所在的文件名。
--no-filename

21.-I 			// 忽略二进制文件。该选项等同于 '--binary-file=without-match' 选项
22.-i 			// 忽略大小写敏感。默认是 '大小写敏感'
--ignore-case

23.-J 			// 在搜索前,解压缩 'bzip2' 压缩的文件
--bz2decompress

24.-L 			// 只输出未匹配到内容的文件名。
--files-without-match
25.-l 			// 不输出匹配到内容的行,只输出匹配到内容的文件。一旦某个文件已搜索到一个内容,就不继续搜索该文件之后的内容,这样可以节省点效率(因为本身就是只得到文件名,已经获取到了)。如果搜索的是 '标准输入',则显示 'standard input'
--files-with-matches

26.--mmap 		// 使用 'mmap' 替代 'read' 来读取输入,在某些情况下,可以获得更好的性能,但是可能会产生不确定的行为。
27.-m num 		// 设置最大匹配个数,一旦搜索到最大个数,则停止读取文件
--max-count=num
28.-n 			// 每个输出行之前,都展示文件中的相对行号,从第1行开始。对于处理的每个文件,都会重置行号计数器。如果指定了-c, -L, -l 或-q 选项,则忽略该选项。
--line-number
29.--null 		// 在输出文件名时,使用"\0"放在文件名后,这会替换原本使用的字符,如换行符或冒号。例如"grep -lZ"输出的每个文件都在同一行而不是分行,"grep -HZ"使得文件名后没有冒号
30.-O 			// 如果指定了 '-R' 选项,只有在命令行上显示列出了 '符号链接',才会搜索他们。默认是不会搜索符号链接文件的。
31.-o 			// 输出被匹配到的字符串,而不是输出整行。每个被匹配到的字符串都使用单独的行输出
--only-matching
32.-p 			// 如果指定了 '-R' 选项,将不会对符号链接进行搜索。这是默认行为。
33.-q 			// 静默模式:不输出任何内容。一旦搜索到匹配内容,立即停止。(不太理解)
--quiet
--silent
34.-R 			// 递归搜索子目录
-r
--recursice

35.-S 			// 如果指定了 '-R' 选项,将搜索所有的符号链接文件。默认不搜索符号链接文件
36.-s 			// 静默模式。不存在或不可读的文件,被忽略。(错误消息也不会说出)
--no-message
37.-U 			// 搜索二进制文件,但不尝试打印他们
--binary
38.-V 			// 显示版本信息并退出
--version
39.-v 			// 反转匹配结果,选择那些未匹配到的行
--invert-match
40.-w 			// 精确匹配整个单词。单词的组成字符包括:字母、数字和下划线。就好像模式匹配两边添加了 "[[:<:]]" 和 "[[:>:]]"
--word-regexp
41.-x 			// 仅选择能精确匹配整行内容的行
--line-regexp
42.-y 			// 等同于 '-i' 选项,旧版
43.-Z 			// 等同于 'zgrep'
-z
--decompress
44.--binary-files=value 	// 控制搜索和打印二进制文件。可选值有:binary(默认) - 搜索二进制文件,但是不打印;without-match:不搜索二进制文件;text:把二进制文件当做普通文件看待。
45.--line-buffered 			// 强制输出为行缓冲。默认情况下,当标准输出为终端时,输出是行缓冲的,否则块将被缓冲(例如:输出到文件)。

如果没有指定搜索文件参数,则使用标准输入!

环境变量:
GREP_OPTIONS - 可以指定默认参数,会默认填充到命令的参数列表的最前面。不支持 '\' 反斜线转义(不同于 GNU grep)

退出状态码:
0 - 匹配到一行或多行内容
1 - 未匹配到内容
2 - 发生错误

好的东西当然要分享了,有个哥们对这几个linux命令的翻译,可参考: http://www.cnblogs.com/f-ck-need-u/p/7048359.html#mytranslations
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐