在文件内查找文本

搜索文件夹里每个文件的内容,返回文件名、行号,以及那一行本身。

100% 隐私安全 — 完全在您的浏览器中运行。您的数据在本地设备上处理,绝不会发送到互联网。

文件夹在你的浏览器中读取。不上传任何内容,也不会改动任何东西。

关于在文件内查找文本

每个人都曾靠着文件里面写着的东西去找文件——两百张发票中某一张上的客户名、配置文件里的一个旧密码、笔记文件夹中的某句话。而每个人也都被系统自带的搜索框辜负过。

Windows 搜索只对特定位置和特定类型的文件建立内容索引;凡是没索引过的,它返回的是「什么也没有」,而不是告诉你它没找过。这比报错更糟,因为你会由此断定那段文字并不存在。Spotlight 做得好一些,但对自己漏掉了什么同样闭口不谈。

这个工具会打开每一个候选文件并读完它。你得到的是文件名、行号和那一行本身——同样重要的是,还有一份它读不了的东西的计数。

只读:不上传任何内容,也不改动任何东西。

使用方法

  • 点击选择要搜索的文件夹并选中它。浏览器会请求读取权限
  • 输入要查找的内容
  • 需要时勾选区分大小写全词匹配正则表达式
  • 只处理这些类型收窄范围——只搜 txt, md 会比打开所有东西快得多
  • 点击搜索,然后复制匹配结果下载 CSV

每一处匹配都会显示行号和该行内容,匹配到的文字会被高亮。特别长的一行会围绕匹配处裁剪,而不是被丢弃,所以即便是压缩成一行的文件也能给出可用的答案。

它会告诉你跳过了什么

这正是系统自带搜索做错的地方,所以每次搜索之后都会写在屏幕上:

  • 非文本——含有 NUL 字节的文件是二进制。在 JPEG 里搜「发票」只可能得到噪声,所以这类文件会被跳过并计数
  • 过大——超过 8 MB 的一律跳过。一个巨大的日志文件不该把标签页卡死
  • 无法读取——被别的程序锁定、扫描途中消失,或者被操作系统拒绝

如果一次搜索空手而归,而摘要里写着跳过了 40 个文件,你就知道该放宽类型筛选再来一次。一个沉默的「0」则什么也不会告诉你。

三种匹配方式

  • 纯文本——默认方式。你输入什么就按字面查什么,所以搜 价格 ($) 会精确找到它,无需转义
  • 全词匹配——cat 匹配 cat,但不匹配 category。查名字和标识符时很有用
  • 正则表达式——完整的 JavaScript 语法。日期用 \d{4}-\d{2}-\d{2},两者任一用 TODO|FIXME,行首匹配用 ^import。不合法的表达式会被明确报告为不合法,而不是悄悄地什么都匹配不到

区分大小写对三种方式都生效。

人们用它来做什么

  • 在几百张发票里找出写着某个客户名的那一张
  • 在一堆配置文件里定位某个被埋起来的设置
  • 笔记或 markdown 文件夹里搜索一句你只记得一半的话
  • 检查项目文件夹里是不是躺着 API 密钥或密码
  • 重命名之前,找出所有提到某个函数或变量的文件
  • 审查导出的 CSV,看看有没有本不该出现的值
  • 得到一份带行号的清单,可以直接粘进工单里

值得一提

  • 可在 Windows、macOS、Linux 和 ChromeOS 上使用——它是一个网页,无需安装。它无法在 iPhone、iPad 或 Android 上工作:移动浏览器没有办法把一个文件夹交给网页
  • 这里每种浏览器给出的结果都一样。 读取文件内容这件事,现代文件夹选择器和较旧的文件清单机制都能做到
  • 不上传任何内容。每个文件都是在页面里打开并搜索的
  • 没有索引,所以在大文件夹里的第一次搜索要花上读完它的时间。这同时也正是它永远不会过期的原因
  • 每个文件最多保留 50 处匹配,屏幕上最多显示 300 个文件;CSV 则包含全部匹配
  • 文件按 UTF-8 读取。使用旧式地区编码的文件可能显示出奇怪的字符,不过对于纯 ASCII 文本,搜索本身仍然有效
  • 搜索在页面内运行,所以特别大的文件夹会让标签页忙上一阵。进度条会显示进展

相关工具

我们会定期添加新工具——在 YouTube 上订阅,即可在每个新工具上线时收到通知。

更多工具

查看全部

推荐应用

查看全部