如何查找有一个字符串匹配的字符串和一个字符串在Linux中不匹配

问题描述:

我想找到有一个字符串“你好”但不应该包含字符串“helloworld”的罐子。 我试图像下面的命令,如何查找有一个字符串匹配的字符串和一个字符串在Linux中不匹配

find . -iname '*.jar' -printf "unzip -c %p | grep -q 'hello' && grep -qL 'helloworld' && echo %p\n" | sh 

这是不正确的给予jars.Would想知道传递两个条件的grep命令?

+0

这可能有助于http://stackoverflow.com/questions/14952678/how-to-find-a-list-of-jar-files-that-c​​ontains -a-special-class-in-unix – Athar

find . -name "*.jar" -exec bash -c 'f={};jar tf $f| grep "hello" | grep -q -v "helloworld" && echo $f' \; 
+0

尽管此代码可能有助于解决问题,但 提供了关于_why_和/或_how_的其他上下文,回答此问题将显着提高其长期价值。但这是无关紧要的 - 你不应该回答题外话题 - 相反,请将它们标记为 注意,它们将被合适地关闭或迁移 。 –

+0

以上命令得到的bash:罐子:命令未找到 的bash:罐子:命令未找到 的bash:罐子:命令未找到 bash的:没有发现命令 bash下:罐罐:命令未找到 – jenny

试试这个:

find . -iname '*.jar' | grep hello | grep -v helloworld 
+0

尽管此代码可以是帮助解决问题, 提供了关于_why_和/或_how_的其他上下文,回答这个问题将显着提高其长期价值,特别是在回答这样一个不明确的问题时。请[编辑]你的答案,增加一些 的解释,并澄清你认为问题的实际含义。 –

+0

嗨Assaf,上述命令仍然给罐子helloworld。 – jenny