可在mac终端用系统自带命令批量提取文件名:一、ls -1 > filenames.txt导出纯文本;二、find命令配合-maxdepth 1和-type f精确获取不带路径的文件名;三、shell脚本生成带序号的csv文件。

如果您在Mac上需要快速获取一个文件夹内所有文件的名称,但又不想安装第三方软件,则可以通过系统自带的“终端”执行命令行操作实现。以下是利用终端批量提取文件名的具体步骤:
一、使用ls命令结合重定向导出为文本文件
该方法通过终端内置的ls命令列出当前目录下所有文件名,并将结果直接保存为纯文本文件,无需额外工具,完全依赖系统原生功能。
1、打开“终端”应用(可通过 Spotlight 搜索“终端”,或前往“应用程序 → 实用工具 → 终端”)。
2、在终端中输入cd命令后加空格,再将目标文件夹拖入终端窗口,自动填充完整路径;按回车切换至该目录。
3、输入命令:ls -1 > filenames.txt,然后按回车执行。
4、在当前文件夹中即可看到新生成的filenames.txt文件,其中每行一个文件名(不含扩展名时需配合其他参数)。
二、使用find命令精确提取完整文件名(含路径与扩展名)
该方法适用于需保留完整路径、区分文件与子文件夹、或确保扩展名始终显示的场景,尤其适合嵌套结构较深的文件夹。
1、在终端中切换至目标文件夹所在上级目录(例如目标文件夹名为“Documents”,则先cd ~/)。
2、执行命令:find "Documents" -maxdepth 1 -type f -printf "%f\n" > filenames_full.txt。
3、若需包含扩展名且排除子目录中的文件,确保使用-maxdepth 1限制层级,并用-type f仅匹配普通文件。
4、生成的filenames_full.txt将位于当前终端所在目录,内容为不带路径的纯文件名列表。
三、使用shell脚本一键生成带序号的Excel兼容CSV文件
该方法生成逗号分隔的CSV格式文件,可直接双击用Numbers或Excel打开,每行含序号与文件名,便于后续排序或引用。
1、在目标文件夹内新建一个文本文件,命名为export_names.sh。
2、用文本编辑器打开该文件,粘贴以下内容:
#!/bin/bash\ni=1\nfor file in *; do\n [ -f "$file" ] && echo "${i},$file"\n ((i++))\ndone > filenames_with_index.csv
3、保存后,在终端中进入该文件夹,执行chmod +x export_names.sh赋予执行权限。
4、运行./export_names.sh,完成后即生成filenames_with_index.csv文件。









