![OS X 上的 GUI grep](https://linux22.com/image/1223533/OS%20X%20%E4%B8%8A%E7%9A%84%20GUI%20grep.png)
这个问题来自一位前/现任 Windows 用户。如果我正在查看特定目录中的 Finder 窗口,如何搜索名称与特定模式匹配(例如“p*.php”)且包含特定文本字符串的文件?
答案1
您无法通过菜单栏中的聚光灯图标执行此操作。但您可以使用聚光灯执行此操作:
导航到查找器中的文件夹。
在文件夹右上角的搜索栏中输入您要搜索的文件内容。
结果上方有一行字:
Search: This Mac "Your Folder Name"
单击文件夹名称可将搜索限制在文件夹内,而不是整个计算机,这是默认选择“此 Mac”的作用。然后点击齿轮图标,选择显示搜索条件,缩小搜索范围。例如,您可以添加“名称以 .php 结尾”,然后点击加号以添加其他条件。然后您可以添加“名称以 p 开头”
编辑:我刚刚抓取了一个 php 文件并搜索了该字符串array_push($songs,$song)
,但找不到该文件,但如果我只搜索到逗号(即array_push($songs
),spotlight 就会找到该文件!
我找到了这个文章这解释了如何将 php 添加为 Spotlight 支持的文件类型,这应该可以修复我上面遇到的奇怪结果。我相信如果没有这个更改,Spotlight 只会将文件视为 rtf,因此某些 php 元素(尤其是标点符号)会导致搜索失败。编辑所需文件的命令是:
sudo nano /System/Library/Spotlight/RichText.mdimporter/Contents/Info.plist
正如文章中提到的,您需要在更改后重新索引。它还提到,更正确的方法是安装开发人员工具。
然后,您可以使用我上面描述的方法将搜索限制到特定的文件夹或文件类型。
答案2
一种简单的方法是 Spotlight,位于文件窗口或桌面屏幕的右上角;这是文件名和字符串的纯文本。Grep 可以使用终端和 *unix 命令(终端位于应用程序/实用程序/中)。有Aqua 命令行工具,虽然看上去很旧。
答案3
一些程序员的文本编辑器提供了类似 grep 的功能,用于在多个文件中搜索正则表达式;很多(很多)个月前BB編輯有这个功能(可能现在还有;只是我好几年没用过了)。如果发现其他针对开发者市场的工具也有类似的功能,我一点也不惊讶。
答案4
使用 AppleScript(以及do shell script
使用 Perl),可以运行脚本来选择所有与正则表达式匹配的文件。这可以与以下程序结合使用:快速脚本并且实际上已被记录下来并可供下载开发人员在他的博客上。