【发布时间】:2014-05-25 21:41:42
【问题描述】:
我正在尝试列出所有包含某个字符串但不包含另一个字符串的文件名。对于这种特殊情况,我想要所有包含“*.java”但不包含“*Test.java”的文件名。为了找到并保存第一组,我使用的是:
find -name "*.java" > sources.txt
但我不知道如何排除文件名中包含“*Test.java”的文件。 我是 bash 的新手,如果我遗漏了一些明显的东西,非常抱歉。
【问题讨论】:
我正在尝试列出所有包含某个字符串但不包含另一个字符串的文件名。对于这种特殊情况,我想要所有包含“*.java”但不包含“*Test.java”的文件名。为了找到并保存第一组,我使用的是:
find -name "*.java" > sources.txt
但我不知道如何排除文件名中包含“*Test.java”的文件。 我是 bash 的新手,如果我遗漏了一些明显的东西,非常抱歉。
【问题讨论】:
你可以使用:
find -name "*.java" ! -name "Test.java"
【讨论】:
histexpand shell 选项,它使! 具有特殊含义。