Questions tagged «grep»

grep是最初为Unix编写的命令行文本搜索实用程序。它使用正则表达式来匹配文本,并且通常用作管道中的过滤器。仅当您的问题与使用grep或基于grep的API进行编程有关时,才使用此标签。与grep命令行选项本身的使用或故障排除有关的问题是题外话。

30
如何在Linux上查找所有包含特定文本的文件?
想要改善这篇文章吗?提供此问题的详细答案,包括引文和答案正确的解释。答案不够详细的答案可能会被编辑或删除。 我试图找到一种方法来扫描我的整个Linux系统,以查找包含特定文本字符串的所有文件。只是为了澄清,我正在文件中寻找文本,而不是在文件名中寻找文本。 当我查找如何执行此操作时,我两次遇到此解决方案: find / -type f -exec grep -H 'text-to-find-here' {} \; 但是,它不起作用。似乎显示了系统中的每个文件。 这接近正确的方法吗?如果没有,我应该怎么办?这种在文件中查找文本字符串的功能对于我正在执行的某些编程项目非常有用。
5254 linux  text  grep  directory  find 



15
如何在Git历史记录中grep(搜索)已提交的代码
我过去某个时候已经删除了文件或文件中的某些代码。我可以在内容中(而不是在提交消息中)grep吗? 一个非常糟糕的解决方案是grep日志: git log -p | grep <pattern> 但是,这不会立即返回提交哈希。我git grep无济于事。
1432 git  grep  diff 

4
如何在Linux上使用grep仅显示文件名?
如何grep在Linux上仅显示文件名(无内联匹配)? 我通常使用类似: find . -iname "*php" -exec grep -H myString {} \; 我如何才能获取文件名(带有路径)却没有匹配项?我必须使用xargs吗?我的grep手册页上没有找到执行此操作的方法。
1067 linux  grep 

3
使用grep进行负匹配(不包含foo的匹配行)
我一直在尝试找出此命令的语法: grep ! error_log | find /home/foo/public_html/ -mmin -60 要么: grep '[^error_log]' | find /home/baumerf/public_html/ -mmin -60 除了名为的文件,我需要查看所有已修改的文件error_log。 我在这里读过它,但是只发现了一个not-regex模式。
988 regex  grep 

11
我如何用管道输送stderr而不是stdout?
我有一个要写入信息的程序stdout和stderr,我需要grep通过报应的标准错误,而忽视标准输出。 我当然可以分两步完成: command > /dev/null 2> temp.file grep 'something' temp.file 但我希望能够在没有临时文件的情况下执行此操作。有任何智能管道技巧吗?
981 bash  grep  stdout  pipe  stderr 

11
grep,但仅某些文件扩展名
我正在为grep某些目录编写一些脚本,但是这些目录包含各种文件类型。 我想grep只是.h和.cpp现在,但也许其他几个人的未来。 到目前为止,我有: { grep -r -i CP_Image ~/path1/; grep -r -i CP_Image ~/path2/; grep -r -i CP_Image ~/path3/; grep -r -i CP_Image ~/path4/; grep -r -i CP_Image ~/path5/;} | mailx -s GREP email@domain.com 谁能告诉我我现在如何只添加特定的文件扩展名?

22
使用grep --exclude /-include语法不对某些文件进行grep
我正在寻找foo=目录树中文本文件中的字符串。在普通的Linux机器上,我有bash shell: grep -ircl "foo=" * 目录中还包含许多匹配“ foo =“的二进制文件。由于这些结果无关紧要,并且拖慢了搜索速度,因此我希望grep跳过对这些文件(主要是JPEG和PNG图像)的搜索。我该怎么做? 我知道有--exclude=PATTERN和--include=PATTERN选项,但是模式格式是什么?grep的手册页显示: --include=PATTERN Recurse in directories only searching file matching PATTERN. --exclude=PATTERN Recurse in directories skip file matching PATTERN. 搜索grep包含,grep包含排除,grep排除和变体未找到任何相关内容 如果只在某些文件中有一种更好的grepping方式,我全力以赴。移动有问题的文件不是一种选择。我无法仅搜索某些目录(目录结构混乱不堪,到处都是东西)。另外,我什么也无法安装,因此必须使用通用工具(例如grep或建议的find)。

12
如何“ grep”连续流?
可以grep在连续流上使用吗? 我的意思是说是一条tail -f <file>命令,但grep在输出中仅保留我感兴趣的行。 我已经尝试过,tail -f <file> | grep pattern但是似乎grep只能在tail完成后才能执行,也就是说永远不会执行。
729 linux  bash  shell  grep  tail 

14
grep可以仅显示与搜索模式匹配的单词吗?
有没有办法使grep输出与搜索表达式匹配的文件中的“单词”? 如果我想在许多文件中找到“ th”的所有实例,则可以执行以下操作: grep "th" * 但是输出将是这样的(我大胆); 一些文本文件:在猫坐在了垫子 一些-其他文本文件:在敏捷的棕色狐狸 另一个文本文件:我希望这能彻底解释它 使用相同的搜索,我希望它输出的是: the the the this thoroughly 使用grep可以吗?还是使用其他工具组合?
684 grep  words 


8
如何grep Git提交特定单词的差异或内容?
在Git代码存储库中,我想列出所有包含特定单词的提交。我试过了 git log -p | grep --context=4 "word" 但这并不一定会返回文件名(除非它与我搜索的单词相距少于5行。我也尝试过 git grep "word" 但是它只给我当前文件而不是历史记录。 如何搜索整个历史记录,以便可以跟踪特定单词的变化?我打算在我的代码库中搜索单词的出现以跟踪更改(在文件历史记录中搜索)。
622 git  search  grep 

14
如何使用grep在文件夹中查找单词?
在Windows中,我会进行搜索以在文件夹内找到单词。同样,我想知道在包含许多子目录和文件的目录中是否出现特定单词。我对grep语法的搜索显示我必须指定文件名,即grep string filename。 现在,我不知道文件名,该怎么办?一位朋友建议这样做grep -nr string,但是我不知道这意味着什么,我也没有得到任何结果(在发出之前,没有任何回应ctrl + c)。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.