rgrep命令用于递归查找文件里符合条件的字符串。
rgrep指令的功能和grep指令类似,可查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设rgrep指令会把含有范本样式的那一列显示出来。
rgrep 可以递归访问目录树。rgrep 有一些命令行选项支持跟标准的grep 一样的选项。
语法
rgrep [-?BcDFhHilnNrv][-R<范本样式>][-W<列长度>][-x<扩展名>][--help][--version][范本样式][文件或目录...]
[-?BcDFhHilnNrv][-R<范本样式>][-W<列长度>][-x<扩展名>][--help][--version][范本样式][文件或目录...]
参说明数:
- -? 显示范本样式与范例的说明。
- -B 忽略二进制的数据。
- -c 计算符合范本样式的列数。
- -D 排错模式,只列出指令搜寻的目录清单,而不会读取文件内容。
- -F 当遇到符号连接时,rgrep预设是忽略不予处理,加上本参数后,rgrep指令就会读取该连接所指向的原始文件的内容。
- -h 特别将符合范本样式的字符串标示出来。
- -H 只列出符合范本样式的字符串,而非显示整列的内容。
- -i 忽略字符大小写的差别。
- -l 列出文件内容符合指定的范本样式的文件名称。
- -n 在显示符合坊本样式的那一列之前,标示出该列的列数编号。
- -N 不要递归处理。
- -r 递归处理,将指定目录下的所有文件及子目录一并处理。
- -R<范本样式> 此参数的效果和指定"-r"参数类似,但只主力符合范本样式文件名称的文件。
- -v 反转查找。
- -W<列长度> 限制符合范本样式的字符串所在列,必须拥有的字符数。
- -x<扩展名> 只处理符合指定扩展名的文件名称的文件。
- --help 在线帮助。
- --version 显示版本信息。
实例
在当前目录下查找句子中包含"Hello"字符串的文件,可使用如下命令:
rgrep Hello *
Hello *
其搜索结果如下:
$ rgrep Hello * #在当前目录下查找句子中包含“Hello”字符串的文件
testfile_1:Hello 95 #testfile_1中包含“Hello”字符串的句子
testfile_2:Hello 2005 #testfile_2中包含“Hello”字符串的句子
Hello * #在当前目录下查找句子中包含“Hello”字符串的文件
testfile_1:Hello 95 #testfile_1中包含“Hello”字符串的句子
testfile_2:Hello 2005 #testfile_2中包含“Hello”字符串的句子
yexiang@ubuntu:<~>$ rgrep hello *
Binary file A1100H_Kernel_See/wpa_supplicant matches
Binary file A1100_ISDBT/lib/libmain.a matches
Binary file A1100_ISDBT/mips_m3823_linux matches
Binary file A1100_ISDBT/src/main/.obj/test_tool.o matches
Binary file A1100_ISDBT/src/main/.obj/libmain.a matches
A1100_ISDBT/src/main/test_tool.c: char *tmp="hello, test";
A1100_ISDBT/src/main/test_tool.c: char *tmp="hello, test";
A1100_ISDBT/src/main/test_tool.c: AU8 buf[BUF_LEN] = "hello world";