Pick:一款 Linux 上的命令行模糊搜索工具
今天,我們要講的是一款有趣的命令行工具,名叫 Pick。它允許用戶通過 ncurses(3X) 界面來從一系列選項中進行選擇,而且還支持模糊搜索的功能。當你想要選擇某個名字中包含非英文字元的目錄或文件時,這款工具就很有用了。你根本都無需學習如何輸入非英文字元。藉助 Pick,你可以很方便地進行搜索、選擇,然後瀏覽該文件或進入該目錄。你甚至無需輸入任何字元來過濾文件/目錄。這很適合那些有大量目錄和文件的人來用。
安裝 Pick
對 Arch Linux 及其衍生品來說,Pick 放在 AUR 中。因此 Arch 用戶可以使用類似 Pacaur,Packer,以及 Yaourt 等 AUR 輔助工具來安裝它。
pacaur -S pick
或者,
packer -S pick
或者,
yaourt -S pick
Debian,Ubuntu,Linux Mint 用戶則可以通過運行下面命令來安裝 Pick。
sudo apt-get install pick
其他的發行版則可以從這裡下載最新的安裝包,然後按照下面的步驟來安裝。在寫本指南時,其最新版為 1.9.0。
wget https://github.com/calleerlandsson/pick/releases/download/v1.9.0/pick-1.9.0.tar.gz
tar -zxvf pick-1.9.0.tar.gz
cd pick-1.9.0/
使用下面命令進行配置:
./configure
最後,構建並安裝 Pick:
make
sudo make install
用法
通過將它與其他命令集成能夠大幅簡化你的工作。我這裡會給出一些例子,讓你理解它是怎麼工作的。
讓們先創建一堆目錄。
mkdir -p abcd/efgh/ijkl/mnop/qrst/uvwx/yz/
現在,你想進入目錄 /ijkl/
。你有兩種選擇。可以使用 cd
命令:
cd abcd/efgh/ijkl/
或者,創建一個快捷方式 或者說別名指向這個目錄,這樣你可以迅速進入該目錄。
但,使用 pick
命令則問題變得簡單的多。看下面這個例子。
cd $(find . -type d | pick)
這個命令會列出當前工作目錄下的所有目錄及其子目錄,你可以用上下箭頭選擇你想進入的目錄,然後按下回車就行了。
像這樣:
而且,它還會根據你輸入的內容過濾目錄和文件。比如,當我輸入 「or」 時會顯示如下結果。
這只是一個例子。你也可以將 pick
命令跟其他命令一起混用。
這是另一個例子。
find -type f | pick | xargs less
該命令讓你選擇當前目錄中的某個文件並用 less
來查看它。
還想看其他例子?還有呢。下面命令讓你選擇當前目錄下的文件或目錄,並將之遷移到其他地方去,比如這裡我們遷移到 /home/sk/ostechnix
。
mv "$(find . -maxdepth 1 |pick)" /home/sk/ostechnix/
通過上下按鈕選擇要遷移的文件,然後按下回車就會把它遷移到 /home/sk/ostechnix/
目錄中的。
從上面的結果中可以看到,我把一個名叫 abcd
的目錄移動到 ostechnix
目錄中了。
使用方式是無限的。甚至 Vim 編輯器上還有一個叫做 pick.vim 的插件讓你在 Vim 中選擇更加方便。
要查看詳細信息,請參閱它的 man 頁。
man pick
我們的講解至此就結束了。希望這款工具能給你們帶來幫助。如果你覺得我們的指南有用的話,請將它分享到您的社交網路上,並向大家推薦我們。
via: https://www.ostechnix.com/pick-commandline-fuzzy-search-tool-linux/
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive