spotlight可直接搜索文件正文内容,但需文件已被系统索引;访达中需手动添加“内容”条件才能搜正文;终端grep适合纯文本批量搜索,.docx等需先用textutil转txt;预览支持pdf全文搜索(含ocr);less适合大文件交互式搜索。

你在Mac上打开一份合同草稿,想确认里面是否写过“乙方需在30日内交付”,但文件名只叫“v2_终稿.docx”,靠Spotlight按名字搜根本找不到——这时候必须穿透到文件正文里找文字。
用Spotlight直接搜内容(最快,但有前提)
按下 Command + 空格 唤出Spotlight,输入关键词,比如“乙方需在30日内交付”。
Spotlight会自动索引大多数文本类文件的正文,包括PDF、Pages、Keynote、Word、Excel、TXT等,但前提是这些文件已被系统成功索引——新下载或刚创建的文件可能要等几秒到几分钟才可被内容检索。
搜索结果中若出现带预览缩略图或标注“在文稿中”的条目,说明匹配来自正文;点击即可打开文件并高亮首次命中位置。
在访达中限定范围搜内容(精准可控)
第一步:打开目标文件夹,例如“~/Documents/项目合同”;
第二步:按 Command + Option + 空格,让搜索框聚焦并默认锁定当前文件夹;
第三步:输入关键词 → 点击搜索框右侧的“+”号 → 选择“内容” → “包含” → 再输入相同关键词;
第四步:结果列表将只显示该文件夹及其子目录内,文件正文中含此词的文档。注意:【“内容”条件必须手动添加,不能只输词就默认搜正文】。
用终端grep搜纯文本(高效批量,不依赖索引)
方法一:搜当前目录所有.log文件中的“超时”
打开终端 → 输入:grep -n "超时" *.log → 回车,每行结果前会标出行号。
方法二:递归搜整个项目文件夹(含子目录)里的“API密钥”
先执行:cd ~/Documents/myapp → 再输入:grep -rni "API密钥" . → -i让搜索不区分大小写,-r表示遍历所有层级。
方法三:搜特定格式的文本文件(避开二进制干扰)
grep无法直接读取.docx/.xlsx/.pages等封装格式,强行运行会输出乱码或无结果;必须先用textutil转成txt:textutil -convert txt contract.docx → 再搜:grep "交付日期" contract.txt。
用预览查单个PDF(所见即所得)
双击PDF用“预览”打开 → 按 Command + F 调出搜索框 → 输入关键词 → 按 Command + G 跳到下一个匹配项。
预览支持PDF内嵌文本的全文查找,包括扫描件OCR后的内容(前提是已启用OCR),但对加密PDF或未启用文本层的扫描件无效。
用less在终端里边看边搜(适合大日志或配置文件)
打开终端 → 输入:less nginx-access.log → 按空格翻页 → 输入 / → 接着输入“500” → 回车,光标会跳到第一个匹配“500”的行。
后续按 n 查下一个,N 查上一个,q 退出;如果关键词含空格,要用反斜杠转义,例如搜“I read the other day”要输:/I\ read\ the\ other\ day。











