Questions tagged «grep»

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

19
彩色grep-使用突出显示的匹配项查看整个文件
我发现grep的--color=always标志非常有用。但是,grep仅打印具有匹配项的行(除非您请求上下文行)。鉴于它打印的每一行都有一个匹配项,因此突出显示并没有添加尽可能多的功能。 我真的很想要cat一个文件,然后看到整个文件都带有突出显示的模式匹配项。 有什么办法可以让grep打印正在读取的每一行,而不管是否有匹配项?我知道我可以编写一个脚本在文件的每一行上运行grep,但是我很好奇standard是否可以实现grep。
509 bash  shell  colors  grep 



7
从Grep RegEx捕获组
我在sh(Mac OSX 10.6)中有了这个小脚本,可以查看文件数组。Google现已停止提供帮助: files="*.jpg" for f in $files do echo $f | grep -oEi '[0-9]+_([a-z]+)_[0-9a-z]*' name=$? echo $name done 到目前为止(显然,对于您的shell专家来说)$name仅保留0、1或2,具体取决于是否grep发现文件名与提供的文件匹配。我想要的是捕获内部的内容([a-z]+)并将其存储到变量中。 如果可能的话,我只想使用grep。如果没有,请不要使用Python或Perl等sed类似的东西–我是Shell的新手,并且希望从* nix纯粹主义者的角度进行攻击。 另外,作为超酷的bonu,我很好奇如何在shell中连接字符串?我捕获的组是$ name中存储的字符串“ somename”,我想在其末尾添加字符串“ .jpg” cat $name '.jpg'吗? 如果有时间,请解释发生了什么。
380 bash  shell  grep 

8
如何格式化我的grep输出以在行尾显示行号以及点击数?
我正在使用grep来匹配文件中的字符串。这是一个示例文件: example one, example two null, example three, example four null, grep -i null myfile.txt 退货 example two null, example four null, 如何返回匹配的行及其行号,如下所示: example two null, - Line number : 2 example four null, - Line number : 4 Total null count : 2 我知道-c返回总匹配行,但是我不知道如何正确格式化它以添加total null count到前面,并且我也不知道如何添加行号。 我能做什么?
378 linux  bash  unix  grep 

6
使用grep时获取行号
我正在使用grep递归来搜索文件中的字符串,并且所有匹配的文件和包含该字符串的行都在终端上打印。但是也有可能获得那些行的行号吗? 例如:目前我得到的是/var/www/file.php: $options = "this.target",但是我想要获得的是/var/www/file.php: 1142 $options = "this.target";,1142那么包含该字符串的行号在哪里。 我用来递归grep的语法是 sudo grep -r 'pattern' '/var/www/file.php' 另一个问题是,如何获得不等于模式的结果。像所有文件一样,但不像具有特定字符串的文件一样?
360 grep  line 

11
如何对所有非A​​SCII字符进行grep?
我有几个非常大的XML文件,正在尝试查找包含非ASCII字符的行。我尝试了以下方法: grep -e "[\x{00FF}-\x{FFFF}]" file.xml 但这将返回文件中的每一行,无论该行是否包含指定范围内的字符。 我的语法有误还是做错了其他事情?我也尝试过: egrep "[\x{00FF}-\x{FFFF}]" file.xml (用单引号和双引号将模式引起来)。
359 regex  unix  unicode  grep 


5
Grep只有第一局并停止
我正在使用带有以下参数的grep递归搜索目录,希望仅返回第一个匹配项。不幸的是,它返回的不止一个-实际上是我上次查看时的两个。似乎我有太多争论,尤其是没有得到理想的结果。:-/ # grep -o -a -m 1 -h -r "Pulsanti Operietur" /path/to/directory 返回: Pulsanti Operietur Pulsanti Operietur 也许grep不是执行此操作的最佳方法?你告诉我,非常感谢。
328 grep 

24
删除所有本地git分支
我遵循一个开发过程,在其中为每个新功能或故事卡创建一个新的本地分支。完成后,我将分支合并到master中,然后进行推送。 由于懒惰或健忘的组合,随着时间的流逝往往会发生的事情是,我最终得到了大量本地分支,其中一些分支(例如尖峰)可能没有合并。 我知道如何列出所有本地分支,也知道如何删除单个分支,但是我想知道是否有git命令可以删除所有本地分支? 下面是git branch --merged命令的输出。 user@machine:~/projects/application[master]$ git branch --merged STORY-123-Short-Description STORY-456-Another-Description STORY-789-Blah-Blah * master 所有尝试删除列出的分支的尝试grep -v \*(按照下面的答案)都会导致错误: error: branch 'STORY-123-Short-Description' not found. error: branch 'STORY-456-Another-Description' not found. error: branch 'STORY-789-Blah-Blah' not found. 我正在使用: git 1.7.4.1 ubuntu 10.04 GNU bash,版本4.1.5(1)- 发布GNU grep 2.5.4

28
Windows有哪些好的grep工具?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 关于Windows的grep工具有什么建议吗?理想情况下,可以利用64位OS。 我当然知道Cygwin,也找到了PowerGREP,但是我想知道那里是否有隐藏的宝石?
289 windows  grep 

15
使用grep计算大量文件中字符串的所有出现次数
我有一堆日志文件。我需要找出一个字符串在所有文件中出现了多少次。 grep -c string * 退货 ... file1:1 file2:0 file3:0 ... 使用管道,我只能获取出现一次或多次出现的文件: grep -c string * | grep -v :0 ... file4:5 file5:1 file6:2 ... 我怎样才能只获得合并计数?(如果返回file4:5, file5:1, file6:2,我想取回8。)
289 grep 


23
可利用的PHP函数
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我正在尝试建立可用于任意代码执行的功能列表。目的不是列出应列入黑名单或以其他方式不允许的功能。而是,当在受感染的服务器中搜索后门时,我希望有一个grep-able 红旗关键字列表。 这个想法是,如果您要构建多功能的恶意PHP脚本(例如c99或r57之类的“ Web Shell”脚本),则必须使用一个或多个相对较小的功能集文件中的某个位置,以便允许用户执行任意代码。搜索这些功能可以帮助您更快地将成千上万的PHP文件的范围缩小到需要仔细检查的相对较小的脚本集。 显然,例如,以下任何一项将被视为恶意(或可怕的编码): <? eval($_GET['cmd']); ?> <? system($_GET['cmd']); ?> <? preg_replace('/.*/e',$_POST['code']); ?> 等等。 前几天,我在一个受感染的网站上进行搜索时,没有注意到一段恶意代码,因为我没有意识到preg_replace使用该/e标志可能会造成危险(这很严重?为什么甚至在那里也是如此?)。还有其他我想念的吗? 到目前为止,这是我的清单: Shell执行 system exec popen backtick operator pcntl_exec PHP执行 eval preg_replace(带/e修饰符) create_function include[ _once] / require[ _once](有关漏洞利用程序的详细信息,请参阅mario的答案) 列出能够修改文件的功能可能也很有用,但是我想99%的利用代码中至少会包含上述功能之一。但是,如果您具有能够编辑或输出文件的所有功能的列表,请将其发布,并将在此处包括在内。(而且我不算mysql_execute,因为这是另一类漏洞利用的一部分。)
277 php  security  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.