Pick-Linux的命令行模糊搜索工具

时间:2020-03-21 11:46:32  来源:igfitidea点击:

今天,我们将讨论一个有趣的命令行实用程序“ Pick”。
它允许用户使用具有模糊搜索功能的ncurses(3X)界面从一组选项中进行选择。
在某些情况下,如果我们要搜索名称中包含非英语字符的文件夹或者文件,则“选择”实用程序可能会有所帮助。
我们不必学习如何键入非英语字符。
使用“选择”,我们可以轻松地搜索它们,选择它们并轻松查看或者CD进入它们。
我们甚至不必键入任何字符即可搜索文件或者文件夹。
对于处理大量目录和文件的用户来说,这是个好选择。

安装选择

对于Arch Linux及其派生版本,AUR中提供了Pick。

因此,Arch用户可以使用Yay等AUR帮助器工具进行安装。

$yay -S pick

Debian,Ubuntu,Linux Mint用户运行以下命令来安装Pick。

$sudo apt-get install pick

对于其他发行版,请从此处下载最新版本,然后按照以下说明安装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

最后,构建并安装选择:

$make
$sudo make install

通过将Pick与其他命令结合使用,可以使命令行生活更加轻松。
我将显示一些示例,以便我们了解其工作原理。

让我创建一堆目录。

$mkdir -p abcd/efgh/ijkl/mnop/qrst/uvwx/yz/

现在,我们要转到目录/ijkl /目录。
我们有两种选择。
我们可以使用cd命令,如下所示:

$cd abcd/efgh/ijkl/

或者,为该目录创建快捷方式或者别名,以便我们可以立即切换到该目录。

或者,只需使用“ pick”命令即可更轻松地切换特定目录。
看下面的例子。

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

该命令将列出当前工作目录中的所有目录及其子目录,因此我们可以使用向上/向下箭头选择要CD进入的任何目录,然后按Enter键。

输出示例:

同样,当我们键入目录或者文件时,它会建议包含特定字母的目录或者文件。
例如,以下输出显示当我键入“或者”时的建议列表。

这只是一个例子。
我们还可以将“ pick”命令与其他命令一起使用。

这是另一个例子。

$find -type f | pick | xargs less

此命令将允许我们选择当前目录中的任何文件,以减少浏览量。

愿意学习另一个例子吗?
干得好。
以下命令将允许我们在当前目录中选择要移至我们选择的任何目标位置的单个文件或者文件夹,例如/home/sk/theitroad。

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

使用上/下箭头选择文件,然后按Enter将其移动到/home/sk/theitroad /目录。

如我们在上面的输出中看到的,我已经将名为“ abcd”的文件夹移至“ theitroad”目录。

用例是无限的。
Vim编辑器中还有一个名为pick.vim的插件,可以使我们在Vim编辑器中的搜索更加轻松。

有关更多详细信息,请参见手册页。

$man pick