在Linux中使用通配符在目录中查找文件

3

我有一个目录,里面有很多文件。我想知道如何在该目录中查找文件。我的文件都有一个命名规则和一个姓氏。我希望按照命名规则进行查找。

/MyDir/MySubDir/2016_01_randomLastNameABC

/MyDir/MySubDir/2016_01_randomLastNameDEF

/MyDir/MySubDir/2016_01_randomLastNameGHD

/MyDir/MySubDir/2016_01_randomLastNameDGD

find "/MyDir/MySubDir/2016_01_*" 

我一直收到一个错误,说:

"Linux文件名通常不包含斜杠"

它可能不喜欢我尝试搜索目录的事实。

既然你已经知道路径,那么为什么不使用 ls 而不是 find 呢? - Paul R
2
你想对这些文件做什么?根据需求,你可以直接使用文件通配符,不需要使用 find 命令。 - Benjamin W.
3个回答

7

尝试使用命令find ./MyDir/MySubdir/ -name "2016_01_*"


1
find /MyDir/MySubDir -name "2016_01_*"

1

这样就可以了

find /MyDir/MySubDir/ -name "2016_01_*"

测试,

~$ find ./market/public/static/ -name *.js
./market/public/static/view3dview.js
./market/public/static/ng-file-upload.min.js
./market/public/static/codemirror-min.js
./market/public/static/model_upload_app.js

2
如果在引号中不包含“2016_01_*”,则可能会导致父目录中存在匹配文件的问题。 - codeforester
@codeforester,我现在检查一下,感谢您的评论。 - LF00
@codeforester 我已经检查过了。父目录中匹配的文件没有列出来。我使用的是ubuntu14.04LTS。 - LF00
1
当我说父目录时,我指的是调用“find”命令的shell的当前目录。 - codeforester
哦,抱歉,我错过了,我现在检查一下。 - LF00

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接