如何建设一个门户网站,带会员中心的淘宝客wordpress,网站规划建设与管理维护论文,开发公司对设计单位奖惩grep -nr “搜索内容” 文件路径
其中#xff1a;
-n#xff1a;显示行号-r#xff1a;递归查找子目录中的文件“搜索内容”#xff1a;要搜索的内容文件路径#xff1a;要搜索的文件路径#xff0c;可以是单个文件或目录路径#xff08;将会递归搜索该目录下的所有文…grep -nr “搜索内容” 文件路径
其中
-n显示行号-r递归查找子目录中的文件“搜索内容”要搜索的内容文件路径要搜索的文件路径可以是单个文件或目录路径将会递归搜索该目录下的所有文件
示例
查找文件 /var/log/syslog 中包含字符串 “error” 的行
grep -n error /var/log/syslog查找目录 /home/user 下所有文件中包含字符串 “hello world” 的行
grep -nr hello world /home/user查询头文件中内容 可以使用以下命令查询头文件中是否包含某个字符串
grep -r 搜索内容 文件夹路径 --include *.h查找目录 /usr/include 中所有头文件中是否包含字符串 “stdio”
grep -r stdio /usr/include --include *.h查询非头文件中内容
可以使用以下命令查询不包含 .h 文件中某个字符串的文件
grep -rL 搜索内容 文件夹路径 --include *.c --include *.cpp --exclude *.h例如
grep -rL stdio /home/user/project --include *.c --include *.cpp --exclude *.h只查询.c .h中abc字符串
grep -nr --include*.{c,h} abc /path/to/directory过滤文件夹方法
可以使用 grep 命令结合 --exclude-dir 参数来过滤掉指定的文件夹。具体命令如下
grep -r search_pattern /path/to/search --exclude-dirfolder1 --exclude-dirfolder2解释一下各参数的含义
-r递归搜索指定目录下的文件。search_pattern需要搜索的字符串或正则表达式。/path/to/search需要搜索的目录路径。--exclude-dirfolder1排除名为 folder1 的子目录可以排除多个子目录例如
--exclude-dirfolder1 --exclude-dirfolder2。执行该命令后将会在 /path/to/search 目录下搜索所有不包含 folder1 和 folder2 的文件并输出包含 search_pattern 的行。
需要注意的是--exclude-dir 参数只会排除指定目录下的文件而不会排除该目录的子目录。如果需要排除子目录可以在子目录中再次使用 --exclude-dir 参数排除需要排除的子目录。
查询指定字符
例如grep -nr 只查询abc不能出现abcd这样类型的方法 可以使用正则表达式来限制 grep 命令的搜索范围从而只查询 abc 而不查询 abcd 等包含 abc 的字符串。具体命令如下
grep -nrw /path/to/search -e abc\b -e abc[^d]解释一下各参数的含义
-n显示行号。-r递归搜索指定目录下的文件。-w只匹配整个单词不匹配单词的一部分。/path/to/search需要搜索的目录路径。-e abc\b使用正则表达式搜索包含单词 abc 的行\b 表示单词边界。-e abc[^d]使用正则表达式搜索包含单词 abc 且后面不是 d 的行[^d] 表示不匹配字符 d。
执行该命令后将会在 /path/to/search 目录下搜索所有包含单词 abc 且不包含 abcd 的文件并输出包含 abc 的行号和内容。
需要注意的是该命令只能限制 abc 与其他字符之间的关系无法限制 abc 与其他字符在同一单词中的情况。如果需要查询 abc 但不查询 abcd则需要使用正则表达式进行限制。