Tag: grep

检查命令的输出是否包含shell脚本中的某个string

我正在编写一个shell脚本,我试图检查一个命令的输出是否包含某个string。 我想我可能不得不使用grep,但我不知道如何。 有人知道吗?

如何有效地使用grep?

我有大量的小文件被search。 我一直在寻找一个好的事实上的multithreading版本的grep但找不到任何东西。 我怎样才能改善我对grep的使用? 截至目前我正在这样做: grep -R "string" >> Strings

Unix grep正则expression式包含“x”但不包含“y”

我需要一个单通道的正则expression式,其中包含,比如alpha,但不包含beta。 grep 'alpha' <> | grep -v 'beta'

没有Git元数据的Tarballing

我的源代码树包含了几个使用Git源代码控制的目录,我需要压缩整个树,不包括任何对Git元数据或自定义日志文件的引用。 我以为我会去使用find / egrep / xargs / tar的组合,但不知何故tar文件包含.git目录和* .log文件。 这是我的: find -type f . | egrep -v '\.git|\.log' | xargs tar rvf ~/app.tar 有人能解释我在这里的误解吗? 为什么tar处理find和egrep正在过滤的文件? 我也接受其他技术。

为什么在使用grep两次时没有显示输出?

基本上我想知道为什么这不输出任何东西: tail –follow=name file.txt | grep something | grep something_else 你可以假设它应该产生输出,我已经运行另一行来确认 cat file.txt | grep something | grep something_else 好像你不能多次输出尾巴的输出! 任何人都知道交易是什么,有没有解决scheme? 编辑:为了回答迄今为止的问题,文件肯定有内容,应该由grep显示。 作为grep是否如此完成的证据: tail –follow=name file.txt | grep something 输出显示正确,但是如果使用这个: tail –follow=name file.txt | grep something | grep something 没有输出显示。 如果有帮助,我正在运行的Ubuntu 10.04

如何使用上下文行使用grep时,如何摆脱“ – ”行分隔符?

我有一个名为compare.txt的文本文件,我想提取包含模式“nmse_gain_constant”的每一行后面的单行。 以下命令让我closures: grep -A 1 nmse_gain_constant compare.txt | grep -v nmse_gain_constant 但是这包括每行所需文本之间的分隔符“ – ”。 任何容易的想法如何摆脱“ – ”线? 我会给你一些示例文本,但是这个“ – ”字符会被这个网页错误地解释为控制字符,你会看到的是不正确的。

grepping二进制文件和UTF16

标准的grep / pcregrep等可以方便地用于ASCII或UTF8数据的二进制文件 – 是否有一个简单的方法,使他们也尝试UTF16(最好同时,而是会做)? 我试图得到的数据是所有的ASCII无论如何(库中的引用等),它只是不会被发现,因为有时有两个字符之间有00,有时没有。 我看不出有什么方法可以在语义上完成它,但是这些00应该做的伎俩,除非我不能轻易地在命令行上使用它们。

使用grep来查找文件中的内容,如果匹配,就移动它们

我正在使用grep来生成我需要移动的文件列表: grep -L -r 'Subject: \[SPAM\]' . 我怎样才能将这个列表传递给mv命令并将文件移动到别的地方?

如何grep的整个字

我正在使用下面的命令grep东西在subdirs find . | xargs grep -s 's:text' 但是,这也发现像<s:textfield name="sdfsf"…../> 我能做些什么来避免这种情况,所以它只是find像<s:text name="sdfsdf"/> 或者对于这个问题….还发现<s:text somethingElse="lkjkj" name="lkkj" 基本上s:text和name应该在同一行….

find文件夹中gzip文件中的string

我目前的问题是,我有大约10个文件夹,其中包含gzip文件(每个平均5左右)。 这使得50个文件打开,看看。 有一个更简单的方法来找出一个文件夹中的gzip文件是否有特定的模式? zcat ABC/myzippedfile1.txt.gz | grep "pattern match" zcat ABC/myzippedfile2.txt.gz | grep "pattern match" 对于所有的文件夹和子文件夹,我可以在一行中做同样的事情吗? for f in `ls *.gz`; do echo $f; zcat $f | grep <pattern>; done;