首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Mac上列出文件夹中文件名中包含特定字符串的所有文件?

如何在Mac上列出文件夹中文件名中包含特定字符串的所有文件?
EN

Stack Overflow用户
提问于 2018-06-24 11:14:31
回答 3查看 72关注 0票数 0

例如,我有一个文件夹new_folder,我在这个文件夹中有很多文件夹和文件。我想列出文件名中包含math的所有文件。因此,像maths.txttext.mathabc这样的文件可以满足要求,并且这些文件可能位于new_folder的某些子文件夹中。在作为当前目录的new_folder下,有没有可以执行此操作的命令?

EN

回答 3

Stack Overflow用户

发布于 2018-06-24 11:33:17

find可能是你的朋友。

代码语言:javascript
复制
find . -iname "*math*" -type f -ls

这应该会搜索当前文件夹(".")以及以不区分大小写的方式在名称中包含字符串“-type”的文件("-type f")的所有子文件夹。它最终将打印出找到的文件的ls -l样式列表。

票数 3
EN

Stack Overflow用户

发布于 2018-06-24 11:23:27

这取决于你是否真的在新目录中(例如,如果你使用cd移动到新目录中),以及你是只想列出它们,还是想对它们做些什么。如果您在目录中,并且只想列出它们,请使用:

代码语言:javascript
复制
ls *math*

如果您不在目录中,则需要指定新文件夹的路径,如下所示:

代码语言:javascript
复制
ls new_folder/*math*

请注意,这将列出每个文件的完整路径,而不仅仅是文件名。

如果你想用它们做一些事情,不要使用ls。如果该命令可以直接对一堆文件进行操作,则可以直接对其使用模式,如下所示:

代码语言:javascript
复制
dosomethingwith *math*    # If you're in the directory
dosomethingwith new_folder/*math*    # If not

如果您需要逐个执行需要文件的操作,请执行一个循环:

代码语言:javascript
复制
for file in *math*; do    # Or new_folder/*math* if not in the directory
    dosomethingwith "$file"
done
票数 1
EN

Stack Overflow用户

发布于 2018-06-24 20:56:28

我认为您应该使用grep

代码语言:javascript
复制
ls -1 | grep "math"

或者,您可以使用find

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51006672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档