Linux 命令:grep

快速指南 grep 命令,用於在文本中匹配模式。 grep 命令是一種非常有用的工具,當您掌握它時,將在您的日常工作中大大幫助您。 如果您想知道,grep 代表全局正則表達式打印 您可以使用 grep 在文件中搜索,或將其與管道結合以過濾另一個命令的輸出。 例如,這裡是如何在 index.md 文件中查找 document.getElementById 行的出現次數: grep -n document.getElementById index.md 使用 -n 選項將顯示行號: grep -n document.getElementById index.md 其中一個非常有用的功能是告訴 grep 在匹配行之前和之後打印 2 行,以提供更多上下文。這可以使用 -C 選項完成,該選項接受一個行數: grep -nC 2 document.getElementById index.md 默認情況下,搜索區分大小寫。使用 -i 標誌使其不區分大小寫。 正如前面提到的,您可以使用 grep 過濾另一個命令的輸出。我們可以使用以下方式復制上面的功能: less index.md | grep -n document.getElementById 搜索字符串可以是正則表達式,這使得 grep 具有很強的功能。 您可能會發現非常有用的另一個功能是反轉結果,排除匹配特定字符串的行,使用 -v 選項: grep 命令可在 Linux、macOS、WSL 和任何具有 UNIX 環境的地方運行。

如何在 Ghost 網站上添加搜索功能

我想在自己使用 Ghost 架設的網站上添加搜索功能。 你可以在這個頁面上看到這個教程的最終效果:https://ritywool.it/ricerca/。 當你第一次開始處理這個任務時,你會覺得 “這一定很簡單”。 但不知何故 Ghost 軟件並沒有提供一個簡單的解決方案,你需要使用第三方插件並修改模板。這確實需要一位懂得處理這些的開發者。 不知道為什麼他們沒有提供一個內建的簡單解決方案,而不是需要像我這樣的開發者花時間來調整主題。 這真是奇怪,因為他們在管理面板中有搜索功能,但卻沒有解決辦法來面對公共頁面。他們官方建議使用 Google 自定義搜索,但這實際上並不是一個解決方案。 如果是一個靜態網站生成器,這也還可以理解,因為它沒有運行搜索的引擎,但 Ghost 不是一個靜態網站生成器。 我探索了一段時間的可能選項。他們文檔中建議的一個選項是 GhostHunter,但這對我來說沒有起作用。我嘗試了一下,但在控制台中出現了各種 JavaScript 錯誤,而且我沒有耐心去看問題出在哪裡。這個項目似乎也已經被停止開發了,最後一次提交是 2 年前。 然後我找到了 Ghost Finder,這個插件完美地解決了問題,所以我在這裡解釋一下如何使用。 它是一個使用 Ghost API 來搜索文章的 JavaScript 庫。 首先,我在本地創建了網站的副本(使用 npm install ghost-cli -g 和 ghost install local),並使用了在生產環境上使用的主題。我從 /ghost/#/settings/design 下載了這個主題。 接著,我下載了 Ghost Finder 庫並將其放在 assets 目錄下。 然後,我在 Ghost 管理面板中創建了一個具有 “/search” URL 別名的 search 頁面。 然後我進入了編輯器,創建了一個 page-search.hbs 文件(後面的 - 之後的文件名必須與頁面別名匹配)。 我在命令行中使用 ghost restart 重新啟動 Ghost,以使其識別到這個頁面(這只在本地需要,生產環境上不需要)。 我使用了 Casper 默認主題,這部分可能因為你使用的主題不同而有所不同,不過我在 default.hbs 文件中加入了 Ghost Finder 的 JavaScript 文件(這會載入到所有頁面,不幸的是):...