Tag: grep

如何grep Git提交某个单词的差异或内容?

在Git代码库中,我想列出包含某个单词的所有提交。 我试过这个 git log -p | grep –context=4 "word" 但是这并不一定会让我知道文件名(除非我所search的文字远不及5行),我也试过了 git grep "word" 但它只给出我现在的文件,而不是历史。 如何search整个历史logging,以便我可以跟踪特定单词的变化? 我的意思是search我的代码库的单词出现追踪更改(在文件历史search)。

grep,但只有某些文件扩展名

我正在编写一些脚本来grep某些目录,但这些目录包含各种文件types。 我现在想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 任何人都可以告诉我,我现在将只添加特定的文件扩展名?

使用grep进行负面匹配(匹配不包含foo的行)

我一直在试图找出这个命令的语法: grep ! error_log | find /home/foo/public_html/ -mmin -60 要么 grep '[^error_log]' | find /home/baumerf/public_html/ -mmin -60 我需要查看除了名为error_log文件之外的所有已修改的文件。 我已经在这里读过 ,但只find一个notexpression式模式。

我怎样才能在Linux上使用grep来显示文件名(没有内嵌匹配)?

我怎样才能使用grep在Linux上显示文件名(没有内嵌匹配)? 我通常使用类似于: find . -iname "*php" -exec grep -H myString {} \; 我怎么才能得到的文件名(与path),但没有匹配? 我必须使用xargs吗? 我没有看到在我的grep手册页上这样做的方法。

grep一个文件,但显示几条周边线?

我想grep一个string,还要显示前面的五行和下面的五行以及匹配的行。 我将如何能够做到这一点?

最快可能的grep

我想知道是否有任何提示尽可能快地使grep 。 我有一个相当大的文本文件的基础,以尽可能快的方式进行search。 我已经把它们全写成小写,这样我就可以摆脱-i选项。 这使得search速度更快。 另外,我发现-F和-P模式比默认模式快。 当searchstring不是正则expression式(只是纯文本)时使用前者,如果涉及正则expression式则使用后者。 有没有人有加快grep经验? 也许用一些特殊的标志(我在Linux CentOS上)从头开始编译它,以某种方式组织文件,或者以某种方式使search平行?

如何grep或searchOpenSSL的.jar文件?

我有一个Android应用程序正在使用一些.jar文件(库)。 我的应用程序因为OpenSSL漏洞被拒绝,但找不到包含OpenSSL的.jar文件。 如何在我的MAC上searchOpenSSL的.jar文件? grep Openssl.class /Users/joon/work/androidApp/*.jar UPDATE === 这是我的依赖和jar子。 当我运行下面提到的grep命令时,不会告诉我哪个jar问题只是我有一个旧版本的OpenSSL。 而且,像Bouncy Castle这样的下面的一些jar子,不论是否有OpenSSL,都没有在2013年以后更新,这是在OpenSSL安全补丁之前。 我们试着逐个删除每个jar文件,然后重新编译+清理(注释掉代码以便编译),但是仍然说旧的OpenSSL正在使用中。 任何人都可以指出下面的罪魁祸首? JARS: httpmime-4.1.3.jar libGoogleAnalyticsServices.jar opentok-android-sdk-2.3.1.jar sc-light-jdk15on-1.47.0.2.jar scpkix-jdk15on-1.47.0.2.jar scprov-jdk15on-1.47.0.2.jar socketio.jar dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.+' compile 'com.google.android.gms:play-services-maps:6.5.+' compile 'com.crashlytics.android:crashlytics:1.+' }

查找多个/重叠匹配子string的索引

我有一个string, s="CCCGTGCC"和一个子stringss="CC" 。 我想得到所有的索引在s开始stringss 。 在我的例子中,我想要取回数组c(1,2,6) 。 有没有任何string函数实现了这一点? 请注意,我的string格式为"CCCGTGCC" ,而不是c("C","C","C","G","T","G","C","C") 。 grep只返回string中是否有匹配项,而不是string中匹配项的索引,除非我丢失了一些东西。

从Bash中另一个更大的文本文件中find文本文件的行的最快方法

我有两个文件, file1.txt和file2.txt 。 file1.txt约有14K行, file2.txt约有20亿。 file1.txt每行有一个字段f1 ,而file2.txt有3个字段,从f1到f3 ,由| 。 我想从file2.txt中find所有行,其中file1.txt f2与file2.txt f2匹配(或者如果我们不想花费额外的时间分割file2.txt的值,则file2.txt )。 file1.txt(约14K行, 未sorting ): foo1 foo2 … bar1 bar2 … file2.txt(约20亿行, 未sorting ): date1|foo1|number1 date2|foo2|number2 date3|foo3|number3 … date1|bar1|number1 date2|bar2|number2 date3|bar3|number3 预期产出: date1|foo1|number1 date2|foo2|number2 date1|bar1|number1 date2|bar2|number2 … 这是我已经尝试过,似乎需要几个小时才能运行: fgrep -F -f file1.txt file2.txt > file.matched 我想知道是否有一个更好,更快的方式来执行这个操作与普通的Unix命令或一个小脚本。

grep文字string

我是一个greptypes的工具来search纯粹的文字string。 我正在寻找一个日志文件行的发生,作为一个单独的日志文件中的一部分。 search文本可以包含各种正则expression式特殊字符,例如[]().*^$-\ 。 是否有一个Unixsearch实用程序不会使用正则expression式,但只是search一个string的文字出现?