Ubuntuにag(The Silver Searcher)をインストールする

サーバー

みなさんは、まだgrepを使い続けていますか?
私は、令和の時代になっても使っていました。

でも、もう今後はgrepを使う機会は減るでしょうね。
その代わりに、ag(The Silver Searcher)を使っていきます。

本記事の内容

  • ag(The Silver Searcher)とは?
  • OS標準のag(The Silver Searcher)
  • ag(The Silver Searcher)のインストール
  • ag(The Silver Searcher)の動作確認

それでは、上記に沿って解説していきます。

ag(The Silver Searcher)とは?

ag(The Silver Searcher)は、コードを検索するためのツールです。
grepと同じと言えば、大抵の人はわかるでしょう。

そして、ag(The Silver Searcher)はAckのクローンとしてスタートしています。
Ackもgrepと同じようようなモノです。

でも、いまではag(The Silver Searcher)とAckは機能的に異なります。
何よりも、処理速度が異なります。
典型的な使い方では、agはackよりも5~10倍高速ということです。

整理すると、速度的には以下の序列となります。

ag > ack > grep

検索ツールは地味ですが、よく使うコマンドではあります。
コードよりは、ログを検索することが多いですけどね。

その基本となるツールが、かなり速度UPしているという話になります。

以上、ag(The Silver Searcher)について説明しました。
次は、OS標準のag(The Silver Searcher)を確認します。

OS標準のag(The Silver Searcher)

今回は、Ubuntuへag(The Silver Searcher)をインストールします。
インストール先となるのは、以下のUbuntuです。

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.1 LTS"

そして、デフォルトでag(The Silver Searcher)がインストールされていません。
そのため、別途インストールする必要があります。

ただ、インストールは簡単です。
OS標準のag(The Silver Searcher)が存在しています。

$ sudo apt show silversearcher-ag
Package: silversearcher-ag
Version: 2.2.0-1
Priority: extra
Section: universe/utils
Origin: Ubuntu
Maintainer: Hajime Mizuno <mizuno-as@ubuntu.com>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 131 kB
Depends: libc6 (>= 2.14), liblzma5 (>= 5.1.1alpha+20120614), libpcre3, zlib1g (>= 1:1.1.4)
Conflicts: python-ase (<< 3.8.1.3440)
Homepage: https://github.com/ggreer/the_silver_searcher
Download-Size: 40.1 kB
APT-Sources: http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages
Description: very fast grep-like program, alternative to ack-grep
The Silver Searcher is grep-like program implemented by C.
An attempt to make something better than ack-grep.
.
It searches pattern about 3–5x faster than ack-grep.
It ignores file patterns from your .gitignore and .hgignore.

バージョンは、2.2.0です。
また、最新のag(The Silver Searcher)は2.2.0となります。

つまり、OS標準のモノは最新と言うことです。
なお、2.2.0は2018年8月7日にリリースされています。

それ以降、更新がないということです。
それは、ある意味、完成したということなのでしょう。

以上、OS標準のag(The Silver Searcher)についての説明でした。
次は、ag(The Silver Searcher)をインストールしていきます。

ag(The Silver Searcher)のインストール

インストールの際には、以下を忘れずに。

$ sudo apt-get update

あとは、aptコマンドでインストールするだけです。

$ sudo apt-get -y install silversearcher-ag

インストールは、すぐに終わります。
やはり、OS標準のモノをインストールするのは簡単です。

以上、ag(The Silver Searcher)のインストールについての説明でした。
最後は、ag(The Silver Searcher)の動作確認を行います。

ag(The Silver Searcher)の動作確認

まずは、バージョン確認を行います。

$ ag --version
ag version 2.2.0

Features:
  +jit +lzma +zlib

ちゃんと、最新バージョン2.2.0がインストールされています。
次は、grepとagの比較を行います。

次のような内容を持つファイルを用意します。

test.txt

a
ab
abc

このファイルをそれぞれのコマンドで検索してみましょう。

grep

$ grep a text.txt
a
ab
abc

普通に見慣れた表示結果です。

ag

$ ag a text.txt
1:a
2:ab
3:abc

デフォルトで行が表示されています。

まとめ

ag(The Silver Searcher)はgrepに速度で圧倒しています。
ただ、今回の動作確認だけでは、その差を体感できていません。

そして、単純にgrepをagに置き換えるだけで利用できることはわかりました。
また、ag(The Silver Searcher)の導入が容易であることも確認してきました。

それなら、agコマンドを使わない手はありませんね。

タイトルとURLをコピーしました