使用bash查找如何忽略所有文件扩展名(如果存在)?

时间:2013-05-07 23:31:44

标签: macos bash find

说我在目录中有这个:

master3.txt
master3
master3old
anotherFile

我需要使用find返回:

master3.txt
master3

基本上它意味着使用查找和忽略文件扩展名(如果存在)。这个例子中的关键是不返回“master3old”

我想在Mac OS X上使用find,以便我可以在结果上运行-exec cp

3 个答案:

答案 0 :(得分:2)

使用extglob:

shopt -s extglob
cp master3?(.*) /somewhere

匹配master3,后跟.something

答案 1 :(得分:1)

find $DIR -name "master3*" | grep "master3\>" | xargs 

其中$DIR是要搜索的目录。 \>表示单词结束。

答案 2 :(得分:0)

检查您的查找手册页,看看它是否有-regex选项

find . -regex '.*/master3\(\..*\)?'