Questions tagged «grep»

对于与grep有关的问题,这是一种用于搜索文件中文本模式的命令行工具。对于有关grep本身的问题或因使用grep命令行工具引起的问题,请使用此标签。


2
GNU grep的--color = auto选项是什么意思?
AFAICT既不是GNU的手册页grep,也不是info grep旨在说明--color=auto含义。 我必须是这个选项的含义尚不明显的地球上极少数人之一。 我猜测,--color=auto“是某处在中间” --color=never和--color=always,但仍有太多的不确定。
14 grep 

5
列表中的grep文件
我正在尝试对几百个文件的列表运行grep: $ head -n 3 <(cat files.txt) admin.php ajax/accept.php ajax/add_note.php 但是,即使我在文件中找到我知道的字符串时,它们也不会搜索文件: $ grep -i 'foo' <(cat files.txt) $ grep -i 'foo' admin.php The foo was found 我对从文件-f读取模式的标志很熟悉。但是如何读取输入文件? 我曾考虑过将文件复制到cp似乎支持该<(cat files.txt)格式的临时目录的可怕方法,然后从那里复制文件。雪莉有更好的方法。


5
如何搜索存在两个不同单词的文件?
我正在寻找一种搜索在同一文件中存在两个单词实例的文件的方法。到目前为止,我一直在使用以下内容进行搜索: find . -exec grep -l "FIND ME" {} \; 我遇到的问题是,如果“ FIND”和“ ME”之间没有一个空格,则搜索结果不会产生该文件。如何在文件中同时存在单词“ FIND”和“ ME”而不是“ FIND ME”的情况下适应以前的搜索字符串? 我正在使用AIX。
14 grep  find  search 

2
什么是grep -v的python等价物?
我喜欢grep -v。我用它所有的时间。但是我也正在用python做一些文本处理,而我缺少一件事。 通常,我通常grep -v将多余的内容从文本中删除。 例如, $ grep -v '[a-z]' # (I manually review this output to confirm that I don't want those lines) $ grep '[a-z]' > linesiwanted 但是如何匹配Python中的正则表达式的补码?例如,\w?的补码。

4
如何使用grep将输出分为两个文件?
我有一个mycommand.sh无法两次运行的脚本。我想将输出分为两个不同的文件,一个文件包含与正则表达式匹配的行,另一个文件包含与正则表达式不匹配的行。我希望拥有的基本上是这样的: ./mycommand.sh | grep -E 'some|very*|cool[regex].here;)' --match file1.txt --not-match file2.txt 我知道我可以将输出重定向到一个文件,然后将其重定向到两个带有-v选项和不带-v选项的不同版本,并将它们的输出重定向到两个不同的文件。但是我想知道是否可以用一个grep做到这一点。 那么,是否可以在一行中实现我想要的?

1
返回给定PID的流程的所有者
我试图从列表中获取流程的所有者,我有命令pidof nmap获取ps -u <PID> | grep USER当前正在使用的then ,但是当我运行它时,它最终只是打印标题(顶行)。 给定进程ID时,如何获取所有者的名称?

2
Grep多个模式否定匹配
因此,我有一堆使用标准日志格式的Apache日志。我想获取并非来自网络搜寻器的所有日志行。 所以可以说我有一个文件robot_patterns,其条目如下 Googlebot msnbot-media YandexBot bingbot 如果运行命令,grep -f robot_patterns *.log我将通过与上述模式匹配的机器人获得所有条目。我的实际列表中有约30个我希望忽略的漫游器和代理条目。 但是我想找到所有不是来自bot的条目。因此,我尝试grep -v -f robot_patterns *.log了grep没有返回任何结果。这不是我期望或想要的,并且我没有找到一种明显的方式来获得我想要的东西。将-v选项与文件中的多个模式组合使用时,grep仅在匹配每个模式时才返回匹配行。
14 grep 


1
为什么此BSD grep结果与GNU grep不同?
我的计算机正在运行macOS 10.12.3,并且我使用的系统安装grep实用程序的版本为2.5.1-FreeBSD。 这些是我在测试各种正则表达式时得到的输出: 但是,如果我使用GNU grep(2.25版)运行这些程序,则会得到以下信息: GNU的grep在我看来是正确的,而BSD的grep是不正确的,不是吗?他们为什么不同?我不明白为什么当正则表达式指定它必须跟随行的开头时,BSD的grep为何匹配“ a”。


2
按颜色过滤命令输出
我正在运行的实用程序没有提供过滤其输出的方法。输出文本中没有任何内容表明特定功能失败,但确实显示为红色。输出是如此之长,以至于当它报告一些错误时最后,我不能总是滚动查看发生错误的输出。 如何过滤出非红色文本? 伪代码: dolongtask | grep -color red 编辑 该命令也会输出其他颜色,我需要能够过滤掉所有非红色的文本。文本着色也是多行的。
13 grep  colors  text  filter 

4
Grep成千上万个文件
我的目录包含cca 26 000个文件,我需要在所有这些文件中进行grep。问题是,我需要尽可能快的速度,因此制作grep从find命令获取一个文件的名称并将匹配项写入文件的脚本不是理想的。在出现“参数列表过长”之前,cca花了2分钟时间在所有这些文件中进行grep。有什么想法怎么做?编辑:有一个脚本一直在制作新文件,因此不可能将所有文件放在不同的目录中。

2
“ Ungrep”-哪些模式不匹配
我正在寻找执行以下命令的命令或脚本: file1.txt: abcd efgh ijkl mnop file2.txt: 123abcd123 123efgh123 123mnop123 我想要一个执行以下操作的命令: ungrep file1.txt file2.txt 并返回以下内容: ijkl 换句话说,它给了我file1.txt中的行,该行不会在file2.txt的grep上返回任何结果。我知道我可以通过以下方式来做到这一点:遍历file1.txt,为每行grepping file2.txt并存储结果,并输出结果为空的任何行,但是我希望找到一种更有效的方法。
13 grep 

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.