Pick:一款 Linux 上的命令行模糊搜索工具
创始人
2024-03-01 21:30:48
0

今天,我们要讲的是一款有趣的命令行工具,名叫 Pick。它允许用户通过 ncurses(3X) 界面来从一系列选项中进行选择,而且还支持模糊搜索的功能。当你想要选择某个名字中包含非英文字符的目录或文件时,这款工具就很有用了。你根本都无需学习如何输入非英文字符。借助 Pick,你可以很方便地进行搜索、选择,然后浏览该文件或进入该目录。你甚至无需输入任何字符来过滤文件/目录。这很适合那些有大量目录和文件的人来用。

安装 Pick

对 Arch Linux 及其衍生品来说,Pick 放在 AUR 中。因此 Arch 用户可以使用类似 PacaurPacker,以及 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/

作者:SK 译者:lujun9972 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

“韭菜免收通行费韭菜薹要收...
近日,在四川乐雅高速符溪收费站外,一名司机与收费站员工因运输的韭菜...
2025-07-12 11:41:09
VS2022配置工程的编译...
VS2022配置工程的编译路径(输出目录和中间目录&...
2025-06-01 19:24:39
【CMake入门教程】CM...
CMake教程专栏文章列表 【实例篇】01.第一个程序【实例篇】0...
2025-06-01 10:01:50
教你如何快速在Linux中...
工作中经常会有查看某个目录下最大的文件的需求,比如在...
2025-06-01 03:02:47
最新CCF目录推荐, 不容...
【本周推荐】我处近期新增多本计算机领域高质量SCI,...
2025-05-28 22:45:10
【Linux】目录结构、路...
目录 1. Linux目录结构 2. Linux路径 2.1 绝对...
2025-05-28 20:19:14

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
从 Yum 更新中排除特定/某... 作为系统更新的一部分,你也许需要在基于 Red Hat 系统中由于应用依赖排除一些软件包。如果是,如...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...
如何检查你的 Linux 系统... 不知道在使用哪个初始化系统?以下是方法。每个主流 Linux 发行版(包括 Ubuntu、Fedor...