歡迎光臨
每天分享高質量文章

Pick:一款 Linux 上的命令列模糊搜尋工具 | Linux 中國

它允許使用者透過 ncurses(3X) 介面來從一系列選項中進行選擇,而且還支援模糊搜尋的功能。當你想要選擇某個名字中包含非英文字元的目錄或檔案時,這款工具就很有用了。
— Sk


本文導航
編譯自 | https://www.ostechnix.com/pick-commandline-fuzzy-search-tool-linux/ 
 作者 | Sk
 譯者 | lujun9972

今天,我們要講的是一款有趣的命令列工具,名叫 Pick。它允許使用者透過 ncurses(3X) 介面來從一系列選項中進行選擇,而且還支援模糊搜尋的功能。當你想要選擇某個名字中包含非英文字元的目錄或檔案時,這款工具就很有用了。你根本都無需學習如何輸入非英文字元。藉助 Pick,你可以很方便地進行搜尋、選擇,然後瀏覽該檔案或進入該目錄。你甚至無需輸入任何字元來過濾檔案/目錄。這很適合那些有大量目錄和檔案的人來用。

安裝 Pick

對 Arch Linux 及其衍生品來說,Pick 放在 AUR[1] 中。因此 Arch 使用者可以使用類似 Pacaur[2]Packer[3],以及 Yaourt[4] 等 AUR 輔助工具來安裝它。

  1. pacaur -S pick

或者,

  1. packer -S pick

或者,

  1. yaourt -S pick

Debian,Ubuntu,Linux Mint 使用者則可以透過執行下麵命令來安裝 Pick。

  1. sudo apt-get install pick

其他的發行版則可以從這裡[5]下載最新的安裝包,然後按照下麵的步驟來安裝。在寫本指南時,其最新版為 1.9.0。

  1. wget https://github.com/calleerlandsson/pick/releases/download/v1.9.0/pick-1.9.0.tar.gz

  2. tar -zxvf pick-1.9.0.tar.gz

  3. cd pick-1.9.0/

使用下麵命令進行配置:

  1. ./configure

最後,構建並安裝 Pick:

  1. make

  2. sudo make install

用法

透過將它與其他命令整合能夠大幅簡化你的工作。我這裡會給出一些例子,讓你理解它是怎麼工作的。

讓們先建立一堆目錄。

  1. mkdir -p abcd/efgh/ijkl/mnop/qrst/uvwx/yz/

現在,你想進入目錄 /ijkl/。你有兩種選擇。可以使用 cd 命令:

  1. cd abcd/efgh/ijkl/

或者,建立一個快捷方式[6] 或者說別名指向這個目錄,這樣你可以迅速進入該目錄。

但,使用 pick 命令則問題變得簡單的多。看下麵這個例子。

  1. cd $(find . -type d | pick)

這個命令會列出當前工作目錄下的所有目錄及其子目錄,你可以用上下箭頭選擇你想進入的目錄,然後按下回車就行了。

像這樣:

而且,它還會根據你輸入的內容過濾目錄和檔案。比如,當我輸入 “or” 時會顯示如下結果。

這隻是一個例子。你也可以將 pick 命令跟其他命令一起混用。

這是另一個例子。

  1. find -type f | pick | xargs less

該命令讓你選擇當前目錄中的某個檔案並用 less 來檢視它。

還想看其他例子?還有呢。下麵命令讓你選擇當前目錄下的檔案或目錄,並將之遷移到其他地方去,比如這裡我們遷移到 /home/sk/ostechnix

  1. mv "$(find . -maxdepth 1 |pick)" /home/sk/ostechnix/

透過上下按鈕選擇要遷移的檔案,然後按下回車就會把它遷移到 /home/sk/ostechnix/目錄中的。

從上面的結果中可以看到,我把一個名叫 abcd 的目錄移動到 ostechnix 目錄中了。

使用方式是無限的。甚至 Vim 編輯器上還有一個叫做 pick.vim[7] 的外掛讓你在 Vim 中選擇更加方便。

要檢視詳細資訊,請參閱它的 man 頁。

  1. man pick

我們的講解至此就結束了。希望這款工具能給你們帶來幫助。如果你覺得我們的指南有用的話,請將它分享到您的社交網路上,並向大家推薦我們。


via: https://www.ostechnix.com/pick-commandline-fuzzy-search-tool-linux/

作者:SK[9] 譯者:lujun9972 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

LCTT 譯者

lujun9972 ? ? ? ?
共計翻譯:69 篇
貢獻時間:46 天


推薦文章

< 左右滑動檢視相關文章 >

點選圖片、輸入文章 ID 或識別二維碼直達

贊(0)

分享創造快樂