# 搜索升级 ### 第一版搜索 [vuepress](https://vuepress.vuejs.org/zh/) 内置基于标题的[搜索](https://v1.vuepress.vuejs.org/zh/theme/default-theme-config.html#%E5%86%85%E7%BD%AE%E6%90%9C%E7%B4%A2),该搜索会基于标题文字匹配进行搜索,无法搜索到内容,更无法全文检索。 ### 第二版搜索 后来我将 [vuepress](https://vuepress.vuejs.org/zh/) 内置的搜索替换成 [algolia](https://z.wiki/misc/algolia.html) <ImgView title="搜索升级" url="https://2.z.wiki/autoupload/20240208/2u0S.804X1112-image.png" /> 但一直有两大难题压着我。 1. 索引不能实时更新 [algolia](https://www.algolia.com/) 每周进行一个索引更新 <ImgView title="搜索升级" url="https://5.z.wiki/autoupload/20240208/Hm4U.936X1388-image.png" /> 2. 接口反应慢,第一次输入的时候迟迟没有结果 ### 第三版搜索 这次从“进口”转“自研”,基于 [redis-search](https://redis.io/docs/interact/search-and-query/) 开发了自己的搜索服务:[敖武的搜索-敖索](https://playground.z.wiki/search/page) <ImgView title="搜索升级" url="https://1.z.wiki/autoupload/20240208/XLaC.2666X4034-image.png" /> ### 升级 将评论也添加到索引中了,这下可以搜索到评论啦💐💐 <ImgView title="搜索升级" url="https://2.z.wiki/autoupload/20240224/UGrL.2026X3292-image.png" /> : "<p>链接:<a href="https://playground.z.wiki/search/page/%E5%AE%A2%E6%88%B7%E7%AC%AC%E4%B8%80" title="https://playground.z.wiki/search/page/客户第一">https://playground.z.wiki/search/page/客户第一</a></p> ", : "搜索页面支持 pathvariable ,如:https://playground.z.wiki/search/page/%E5%AE%A2%E6%88%B7%E7%AC%AC%E4%B8%80 ,对 SEO 应该更友好。", : "搜索页面支持 pathvariable ,如:https://playground.z.wiki/search/page/%E5%AE%A2%E6%88%B7%E7%AC%AC%E4%B8%80 ,对 SEO 应该更友好。", : " <img src="https://z.wiki/autoupload/20240216/etef.emoji.zip/emoji/whee.png" /> <img src="https://z.wiki/autoupload/20240216/etef.emoji.zip/emoji/whee.png" /> ", : "回复:"美女是哪里的?" ------------ made in China", : "回复:"美女是哪里的?" ------------ asdf", : "美女是哪里的?", : "1234123", : "阿斯顿发送到发", : "回复:"回复:"回复:"回复:"测试一下效果" 测试一下回复效果" 我再测试一下" ------------ 测试内容" ------------ 测试。。。。", : "回复:"回复:"回复:"测试一下效果" 测试一下回复效果" 我再测试一下" ------------ 测试内容", : "回复:"回复:"测试一下效果" 测试一下回复效果" 我再测试一下", : "回复:"测试一下效果" 测试一下回复效果", : "测试一下效果",
美食搜索
歌曲搜索
# 网站搜索情况 前几天注册了 [Google Search Console](https://search.google.com/search-console/performance/search-analytics) ,看了下数据,还真有搜索 PV,惊喜 <ImgView title="Google Search Console" url="https://3.z.wiki/autoupload/20240124/hi5Q.2346X3422-image.png" /> ### 关键词 <br /> <ImgView title="Google Search Console" url="https://6.z.wiki/autoupload/20240127/ssWe.1418X1484-image.png" /> 1. uuid 长度 2. adcode 查询 3. nginx 缓存配置 这几个关键词的搜索结果都在前五名 <ImgView title="Google Search Console" url="https://9.z.wiki/autoupload/20240127/kJHc.386X352-image.png" /> <ImgView title="Google Search Console" url="https://0.z.wiki/autoupload/20240131/Qd43.2026X1238-image.png" />: "<p><a href="https://cdn.z.wiki/autoupload/20240805/b0ik/2756X1172/image.png" target="_blank"><img style="max-width: 250px; max-height: 250px;" src="https://cdn.z.wiki/autoupload/20240805/b0ik/2756X1172/image.png" alt="image" /></a> 最近平均每天的点击量在 25 左右。</p> ", : "厉害,以后就是大V了", : "居然有一些流量,没想到啊!",
# robots.txt ### robots.txt 是什么 `robots.txt` 规范官网: [https://www.robotstxt.org/](https://www.robotstxt.org) `robots.txt` 是位于网站根目录下的纯文本文件,用于告知网络爬虫"改网站中哪些可以被爬取,哪些不可以被爬取"。 如:淘宝: [https://taobao.com/robots.txt](https://taobao.com/robots.txt), 腾讯 [https://www.qq.com/robots.txt](https://www.qq.com/robots.txt) `robots.txt` 只是约定俗成的协议,`Google`、百度、`bing`等爬虫都会遵守该规范,但并非所有搜索引擎都支持,故通过`robots.txt`无法 100% 地保证爬取效果(屏蔽效果)。 ### robots.txt 怎么用 允许所有的爬虫: ``` User-agent: * Allow:/ ``` 仅允许特定的爬虫:(`name_spider`用真实名字代替,具体爬虫名字可在附录连接中查看) ``` User-agent: name_spider Allow: / ``` 拦截所有的爬虫: ``` User-agent: * Disallow: / ``` 禁止所有爬虫访问特定目录: ``` User-agent: * Disallow: /cgi-bin/ Disallow: /images/ Disallow: /tmp/ Disallow: /private/ ``` 仅禁止坏爬虫访问特定目录(BadBot用真实的名字代替): ``` User-agent: BadBot Disallow: /private/ ``` 禁止所有爬虫访问特定文件类型: ``` User-agent: * Disallow: /*.php$ Disallow: /*.js$ Disallow: /*.inc$ Disallow: /*.css$ ``` 允许所有爬虫进行访问 ```text User-agent: * Disallow: ``` ### 非标准扩展协议 #### Sitemap 目前主流搜索引擎均支持`Sitemap`,`sitemap`用于告诉浏览器网站都包含哪些`URL`, 使用方法(写到 `robots.txt` 中) ```shell Sitemap: <path-to-sitemap.xml> ``` `sitemap` 文件内容格式如下: ```xml <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:mobile="http://www.google.com/schemas/sitemap-mobile/1.0" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"> <url> <loc>https://z.wiki/</loc> <lastmod>2022-04-16T12:42:45.000Z</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://z.wiki/life/</loc> <lastmod>2022-02-05T14:55:06.000Z</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://z.wiki/life/bento.html</loc> <lastmod>2022-03-28T14:56:49.000Z</lastmod> <changefreq>daily</changefreq> </url> </urlset> ``` #### Crawl-delay 指令 `Crawl-delay`参数设置爬虫的爬取时间间隔,避免对服务器的性能造成影响 ``` User-agent: * Crawl-delay: 10 # 每次爬取等待10秒后继续爬取其他链接 ``` ### 其他替代品一 `robots.txt`是最为广泛使用的方法, 此外也可以通过`robots Meta`标签针对特定页面做设置。 ```html <head> <meta name="robots" content="noindex,nofollow" /> </head> ``` 详细含义如下: | content 内容 | 含义 | |---|---| | all | 对索引编制或内容显示无任何限制。该规则为默认值,因此明确列出时并无任何效果 | | noindex | 不在搜索结果中显示此网页、媒体或资源。如果您未指定该规则,则此网页、媒体或资源可能会编入索引并显示在搜索结果中。 | | nofollow | 不追踪该网页上的链接 | | none | 等同于 noindex, nofollow | | noarchive | 不在搜索结果中显示缓存 | | nositelinkssearchbox | 不在搜索结果中显示该网页的站点链接搜索框 | | nosnippet | 在搜索结果中显示该网页的文本摘要或视频预览 | | indexifembedded | 如果网页内容通过 iframes 或类似 HTML 标记嵌入到其他网页中,那么搜索引擎可以将该网页内容编入索引 | | unavailable_after: [date/time] | 在指定日期/时间过后,不在搜索结果中显示该网页 | ### 其他替代品二 除了 `robots meta`外,我们还可以通过 `http`响应头来设置爬取策略,如: ``` HTTP/1.1 200 OK Date: Tue, 25 May 2010 21:42:43 GMT ... X-Robots-Tag: robots: noindex // 禁止爬虫进行爬取,其他关键词可以参考 robots meta 中的 conent 含义 ... ``` ### 案例分析 #### 腾讯 腾讯官网为`https://www.tencent.com`,对应的 `robots.txt`链接为`https://www.tencent.com/robots.txt` ,内容如下: ```text User-agent: * Disallow: ``` 从以上配置中可看出,腾讯官网对任意爬虫未设置禁止爬取的规则,既:整个腾讯官网允许任意爬虫进行爬取,那如何验证爬虫爬取了腾讯官网了? 这里就用到了搜索小技巧`site`指令了。 通过百度搜索以下关键字`腾讯 site:www.tencent.com`,如下图,我们能搜到腾讯官网上很多内容。 <ImgView title="robots" url="https://z.wiki/images/20220501/2be3526a6ff6448ebdc28a776514ddee.png" /> #### 淘宝 > 2008年9月8日,淘宝网正式向百度宣战:淘宝网将屏蔽百度的搜索引擎抓取。 > > from [https://www.guayunfan.com/baike/305946.html](https://www.guayunfan.com/baike/305946.html) 淘宝屏蔽了百度爬虫,在技术上有很多种手段,但在这里我们只讨论`robots.txt`,查看淘宝的`robots.txt`,内容如下: ```text User-agent: Baiduspider Disallow: / User-agent: baiduspider Disallow: / ``` <ImgView title="robots" url="https://z.wiki/images/20220501/bc60a315f18c4d19bf732f83c9890ecb.png" /> 唯独屏蔽百度爬虫,有意思,有意思! 试试使用百度搜索淘宝上的东西吧,比如:手机,效果如下: <ImgView title="robots" url="https://z.wiki/images/20220501/4ceadc46c25342e9a670807932c41354.png" /> 嗯嗯,整体效果还是不错的,搜索到的内容没有是`taobao.com`域名下的,不过有`cpcwi.taobao.com`域名下的内容,难道有漏网之鱼? 看下这个二级域名下的`robots.txt`,内容如下: ```text User-agent: * Disallow: / ``` 咳咳,`cpcwi.taobao.com`这个域名是禁止所有爬虫的,难道是百度爬虫不道德?使用百度和必应搜索`手机 site:cpcwi.taobao.com`对比下结果吧。 <ImgView title="robots" url="https://4.z.wiki/images/20220501/2e75b51248b941b7b652c425886d7d3a.png" /> 哈哈,果然是百度不道德了😒😒😒 回到淘宝,淘宝专门屏蔽了百度,却没有屏蔽其他爬虫,那我们用必应搜索`手机 site:taobao.com`应该能搜索内容才对,看下吧: 果不其然 <ImgView title="robots" url="https://z.wiki/images/20220501/edc227c484af4a559018ff9a3f1970c1.png" /> ### 附录 1. 爬虫列表 [https://www.robotstxt.org/db.html](https://www.robotstxt.org/db.html) 2. 国内常见爬虫 [https://www.baidu.com/robots.txt](https://www.baidu.com/robots.txt) ```text 百度:Baiduspider 谷歌:Googlebot 微软:MSNBot 百度图片:Baiduspider-image 有道:YoudaoBot 搜狗:Sogou web spider 搜狗学术:Sogou inst spider 搜狗:Sogou spider2 搜狗博客:Sogou blog 搜狗新闻:Sogou News Spider 搜狗:Sogou Orion spider 中搜:ChinasoSpider 搜搜:Sosospider 宜搜:yisouspider 宜搜:EasouSpider ``` <TheEnd /> : "😄除夕快乐",
# iTerm2 配置 为了更高效的利用终端,以及适当的时候 __炫__ 一把,我给`iTerm2`配置了`Key binding`,最终想把终端打造成类`IDEA`一样的工具,完整配置在文章最后。 ### 核心功能 #### 快速注释 当点击`Command + /`的时候自动发送`,cc`按键指令,`vim`便会对内容进行快速注释。 <ImgView title="终端" url="https://z.wiki/autoupload/2022-08-16/e1d296d06b4649af85b561320906ebda.image.png" /> #### 全局内容搜索 当点击`Command + Shift + F`的时候自动发送`:Ag `按键指令,`vim`便会通过`Ag`插件进行弹框并搜索指定内容。 <ImgView title="iTerm2 全局搜索功能" url="https://z.wiki/autoupload/2022-08-16/9f8fc6aadb1647e5b403f56d83be806c.image.png" /> 效果如下: <ImgView title="iTerm2 全局搜索功能" url="https://z.wiki/autoupload/2022-08-16/7ba175e0686e4b7fa9cc4b98fee04631.findcntent.gif" /> #### 文件搜索 当点击`Command + P`的时候自动发送`:Files `按键指令,`vim`根据文件名进行搜索。 <ImgView title="iTerm2 文件搜索" url="https://z.wiki/autoupload/2022-08-16/ff50fb4486b64bf58f84bc49ea66acf2.image.png" /> 效果如下: <ImgView title="iTerm2 文件搜索" url="https://z.wiki/autoupload/2022-08-16/ba80163df6a74a268160b922e5d971a2.files.gif" /> #### 最近文件 点击`Command + E`时自动发送`:History`按键指令,打开最近使用过的文件 <ImgView title="终端" url="https://z.wiki/autoupload/2022-09-09/77d891f0c5fb48809790cbc77c12461c.image.png" /> #### 快速保存 当点击`Command + S`的时候自动发送`:w `按键指令,`vim`对当前编辑的文件进行保存。 <ImgView title="iTerm2 快速保存" url="https://z.wiki/autoupload/2022-08-16/4e92304b1acc4a61939d611c95625545.image.png" /> #### 其他 其他都是一些简单快捷键设置,具体可以看下文中的完整配置,另外文章最后的配置直接解压成`.itermkeymap`文件即可通过`iTerms`进行导入。 ### 完整配置 1. [v1.0 下载链接:iterm2.itermkeymap.zip](https://z.wiki/autoupload/2022-08-16/502be620666044f095913fdb8b6c604c.iterm2.itermkeymap.zip) 2. [v1.1 下载链接:iterm2.itermkeymap.zip](https://z.wiki/autoupload/2022-09-16/c0d3827a9d084595ba6333db02c2f3fc.iterm2.itermkeymap.zip) 导入方式: <ImgView title="iTerm2 导入配置" url="https://z.wiki/autoupload/2022-08-16/b23a6f9e70254855977843979d554ae7.image.png" /> : "👍👍👍", : "<p> <img alt="thumb" referrerpolicy="no-referrer" class="vemoji" src="//img.t.sinajs.cn/t4/appstyle/expression/ext/normal/e6/2018new_zan_org.png"/> <img alt="thumb" referrerpolicy="no-referrer" class="vemoji" src="//img.t.sinajs.cn/t4/appstyle/expression/ext/normal/e6/2018new_zan_org.png"/> <img alt="thumb" referrerpolicy="no-referrer" class="vemoji" src="//img.t.sinajs.cn/t4/appstyle/expression/ext/normal/e6/2018new_zan_org.png"/> <img alt="thumb" referrerpolicy="no-referrer" class="vemoji" src="//img.t.sinajs.cn/t4/appstyle/expression/ext/normal/e6/2018new_zan_org.png"/></p> ",
Google 搜索影响力 <ImgView title="Google 搜索影响力" url="https://6.z.wiki/autoupload/20240211/dxbm.1918X1302-image.png" /> <ImgView title="Google 搜索影响力" url="https://3.z.wiki/autoupload/20240331/9Pgg.1556X1152-image.png" /> ### 2024.04.04 <ImgView title="Google 搜索影响力" url="https://1.z.wiki/autoupload/20240404/ALmn.1222X950-image.png" /> : "<p><a href="https://cdn.z.wiki/autoupload/20240904/Zwky/1102X1900/image.png" target="_blank"><img style="max-width: 250px; max-height: 250px;" src="https://cdn.z.wiki/autoupload/20240904/Zwky/1102X1900/image.png" alt="image" /></a></p> ", : "<p>恭喜!您的网站在过去 28 天内通过 Google 搜索获得了 600 次点击8月 8, 2024</p> ", : "<p><a href="https://cdn.z.wiki/autoupload/20240810/Sw4G/1230X1259/Screenshot-2024-08-10-05-34-01-38-6cf654f91021b6bc082d9f2a76a62578.jpg" target="_blank"><img style="max-width: 250px; max-height: 250px;" src="https://cdn.z.wiki/autoupload/20240810/Sw4G/1230X1259/Screenshot-2024-08-10-05-34-01-38-6cf654f91021b6bc082d9f2a76a62578.jpg" alt="image" /></a></p> ", : "<p><a href="https://cdn.z.wiki/autoupload/20240806/PF3q/1263X2079/f91021b6bc082d9f2a76a62578.jpg" target="_blank"><img style="max-width: 250px; max-height: 250px;" src="https://cdn.z.wiki/autoupload/20240806/PF3q/1263X2079/f91021b6bc082d9f2a76a62578.jpg" alt="image" /></a></p> ", : "点击率创新高😀😀😀", : "<a href="https://0.z.wiki/autoupload/20240715/2dAI/1264X2780/Screenshot_2024-07-15-17-31-27-73_6cf654f91021b6bc082d9f2a76a62578.jpg" target="_blank"><img style="max-width: 250px; max-height: 250px;" src="https://0.z.wiki/autoupload/20240715/2dAI/1264X2780/Screenshot_2024-07-15-17-31-27-73_6cf654f91021b6bc082d9f2a76a62578.jpg" alt="image" /></a>", : "<a href="https://0.z.wiki/autoupload/20240715/2dAI/1264X2780/Screenshot_2024-07-15-17-31-27-73_6cf654f91021b6bc082d9f2a76a62578.jpg" target="_blank"><img style="max-width: 250px; max-height: 250px;" src="https://0.z.wiki/autoupload/20240715/2dAI/1264X2780/Screenshot_2024-07-15-17-31-27-73_6cf654f91021b6bc082d9f2a76a62578.jpg" alt="image" /></a>", : "<a href="https://0.z.wiki/autoupload/20240709/cWz3/2780X1264/Screenshot_2024-07-09-11-47-27-25_6cf654f91021b6bc082d9f2a76a62578.jpg" target="_blank"><img style="max-width: 250px; max-height: 250px;" src="https://0.z.wiki/autoupload/20240709/cWz3/2780X1264/Screenshot_2024-07-09-11-47-27-25_6cf654f91021b6bc082d9f2a76a62578.jpg" alt="image" /></a>", : "<a href="https://0.z.wiki/autoupload/20240708/lQrN/2780X1264/Screenshot_2024-07-08-22-55-10-91_6cf654f91021b6bc082d9f2a76a62578.jpg" target="_blank"><img style="max-width: 250px; max-height: 250px;" src="https://0.z.wiki/autoupload/20240708/lQrN/2780X1264/Screenshot_2024-07-08-22-55-10-91_6cf654f91021b6bc082d9f2a76a62578.jpg" alt="image" /></a> bing影响力。", : " <a href="https://7.z.wiki/autoupload/20240630/QOl6/996X2874/image.png" target="_blank"><img style="max-width: 250px; max-height: 250px;" src="https://7.z.wiki/autoupload/20240630/QOl6/996X2874/image.png" alt="image" /></a> 最近点击量不错哦", : " <a href="https://5.z.wiki/autoupload/20240630/wfUu/1556X1134/image.png" target="_blank"><img style="max-width: 250px; max-height: 250px;" src="https://5.z.wiki/autoupload/20240630/wfUu/1556X1134/image.png" alt="image" /></a> ", : "感谢支持🙏", : "强", : "强", : " <img src="https://z.wiki/autoupload/20240216/etef.emoji.zip/emoji/lovely.png" /> <img src="https://z.wiki/autoupload/20240216/etef.emoji.zip/emoji/lovely.png" /> <img src="https://z.wiki/autoupload/20240216/etef.emoji.zip/emoji/lovely.png" /> 博主很厉害啊", : "👍",
# SEO 优化 我们都知道 html 中的 description keyword 等 [meta](https://www.w3schools.com/tags/tag_meta.asp) 信息对 [SEO](https://zh.wikipedia.org/zh-hans/%E6%90%9C%E5%B0%8B%E5%BC%95%E6%93%8E%E6%9C%80%E4%BD%B3%E5%8C%96) 至关重要。 <ImgView title="SEO 优化" url="https://3.z.wiki/autoupload/20240125/TOYj.159X318-image.png" /> 今天我们就做一个实验,来看下 meta 标签对排名的影响,以我的站点为例: ### 关键词:nginx 缓存 点击链接 [nginx 缓存](https://www.google.com/search?q=nginx+%E7%BC%93%E5%AD%98&oq=nginx+%E7%BC%93%E5%AD%98&gs_lcrp=EgZjaHJvbWUyBggAEEUYOTIGCAEQRRg8MgYIAhBFGDwyBggDEEUYPdIBBzIwM2owajGoAgCwAgA&sourceid=chrome&ie=UTF-8) 即可打开 Google 的搜索结果,如下图 排名第四。 <ImgView title="SEO 优化" url="https://1.z.wiki/autoupload/20240124/vnUE.1546X2096-Pasted_Graphic_1.png" /> 这时候还没修改页面中的 description keyword 等 meta 标签呢,现在已修改并发布到线上,等几天再更新看下效果。 <ImgView title="SEO 优化" url="https://4.z.wiki/autoupload/20240125/3lAI.2346X3712-image.png" /> ### 关键词:绩效自评 点击链接 [绩效自评](https://www.google.com/search?q=%E7%BB%A9%E6%95%88%E8%87%AA%E8%AF%84&oq=%E7%BB%A9%E6%95%88%E8%87%AA%E8%AF%84&gs_lcrp=EgZjaHJvbWUqBggAEEUYOzIGCAAQRRg7MgYIARBFGDsyBggCEEUYPTIGCAMQRRg8MgYIBBBFGDzSAQgzODMzajBqMagCALACAA&sourceid=chrome&ie=UTF-8) 即可打开 Google 的搜索结果,如下图 排名第五。情况同上。 <ImgView title="SEO 优化" url="https://7.z.wiki/autoupload/20240124/IIRL.2144X2200-Pasted_Graphic_2.png" /> ### 未完待续 <ImgView title="SEO 优化" url="https://7.z.wiki/autoupload/20240124/Mt5R.224X224-image.png" /> : "<p>刚才google搜了 "nginx 缓存" 排名升到第三了</p> ", : "回复:"感觉要烂尾了" ------------ 其实烂尾是常态", : "感觉要烂尾了", : "有结论了吗?",
# algolia 将 `vuepress` 默认的搜索引擎替换成 `algolia`了,实时搜索服务,支持秒级全文检索。 <ImgView title="algolia" url="https://z.wiki/images/20220416/896f1fd45836482486484fff4e560d38.png" />
ripgrep 是个好东西 [项目地址](https://github.com/BurntSushi/ripgrep) ### 背景 工作中最害怕的事情之一就是:上游服务变更,作为下游,可能多个服务都要调整,每当如此都要通过IDE打开每个每个项目,根据关键词查找代码,看看项目中是否有使用到上游服务。 也许是习惯了,又或许是麻木了,我看周边每个同时都如此做着重复的事情。 不想这样,我大抵是厌倦了,横竖不想这么麻烦,打开谷歌搜了下"shell 文本查找",歪歪扭扭的每页都写满了`grep` <ImgView title="ripgrep" url="https://8.z.wiki/images/20220204/86d986c9244442048c80c9bc46395f65.png" /> ### 解决方案 `grep` 是 `Linux`系统内置的一款强大的文本搜索工具,支持使用正则表达式递归对目录中的文件内容进行匹配。 用法如下: ```shell grep -F -r "KEY_WORD" --exclude-dir=node_modules * -B 3 -A 3 ``` 含义讲解: > `-F`:需要匹配字符串为固定字符串(非正则表达式) > > `-r`:进行递归匹配 > > `--exclude-dir=node_modules`: 进行文件匹配的时候排查`node_modules`目录 > > `*`: 对任意文件名进行内容匹配 > > `-B 3 -A 3`:对匹配到的内容,打印前3行+后3行 相比,逐个项目查找,利用`grep`已经极大提升了效率 我作为一个程序员,找到`grep`这个命令来进行内容匹配,这也是很合理的。 <ImgView title="ripgrep" url="https://7.z.wiki/images/20220204/3f713382c9d44784baea3f0252419ab9.png" /> ### 更好的方案 `grep` 作为系统内置的内容匹配工具,已经很好了,然而,对于特大型项目,速度还是不够理想,开源方案如`Ack`、`Ag`都是更优秀的方案 从16年起,其实就已经有了更好的(最好)的替代方案:`ripgrep` <ImgView title="ripgrep" url="https://9.z.wiki/images/20220204/530d349519f34ee1bd2b8f181f391d69.gif" /> `ripgrep` 相比 `grep`,有很多特性, 1. 多线程,运行更快 2. 自动递归搜索 3. 支持 `.gitignore`,自动跳过已经忽略的文件 4. 支持压缩文件搜索(zip、xz、bzip2、lz4、等等) 5. 等等(懒得写了🤣) <ImgView title="ripgrep" url="https://5.z.wiki/images/20220204/40caec342a1240438ff0a2c3ae63d85d.gif" /> : "风趣 幽默 点赞",