💬

Rust製の高性能コマンド3選

2022/07/20に公開

Rustで作られたコマンドラインツールに良いものが多いと聞いて、Rust製の便利なコマンドをまとめてみます。RustがC/C++を置き換える言語というのもありますが、GNUの伝統的なツールをブラッシュアップしたツールがRustでいろいろ出てきているのはとても興味深いです。

findコマンドを置き換える fd

fdはGNUの伝統的な検索ツールfindの置き換えです。findよりも簡潔にファイルの検索が可能です。

GitHubのリポジトリはこちらで、インストールも各パッケージマネージャーから使えます。

# mac
$ brew install fd
# ubuntu
$ sudo apt install fd-find
# win
$ choco install fd

使い方は、検索したりディレクトリでfd キーワードと書くだけです。ポイントはfindと違って特にオプションをしていしなくても良いところです。しかもファイルに応じて色分けもされるので、とても分かりやすいです。

$ fd 石
用語集/石投げ器.txt
用語集/隅石.txt
用語集/雪花石こう.txt

デフォルトで正規表現が指定できるのでとても便利です。

$ fd '^石'
用語集/石投げ器.txt

grepを置き換えるripgrep(rg)

ripgrepは伝統的なGREPを置き換えるテキスト検索ツールです。GitHubのリポジトリはこちらです。

インストールは次の通りです。

# mac
$ brew install ripgrep
# ubuntu
$ sudo apt-get install ripgrep
# win
$ choco install ripgrep

こちらもデフォルトが秀逸でrg キーワードと書けばカレントディレクトリ以下のファイルの中身を調べてくれます。

$ rg 東京
talks-ja/jwb_J_202009_02_r240P.json.txt
182:今は 東京から20分ほどの所にある
189:区域には東京ディズニーランドがあります

rg キーワード -g 'ファイルパターン'のように検索するファイルに対するパターンも指定できます。

$ rg 雪 -g "*.txt"
yougo-all.txt
2657:雪花石こう

なお-zを指定するとZIPファイルの中身も検索してくれるので便利。

catを置き換えるbat

batはcatコマンドを置き換えるものです。小さなファイルはcatのように表示し、大きなファイルはlessに渡してページングしてくれます。そして、batの一番の特徴は、ファイルごとにシンタックスハイライトしてくれることです。GitHubのページはこちらです。

インストールは以下の感じです。

# mac
$ brew install bat
# ubuntu
$ sudo apt install bat
# win
$ choco install bat

使い方はcatと同じで、bat ファイル名と書くだけです。

batの実行画面

その他のRustコマンド

ほかにも、Rustで作ったコマンドをまとめてくれている方がいるので、機会を見て試してみたいと思います。

ちょっと見ていて気になったコマンド

  • xsv --- CSVファイルの検索や統計を表示してくれるコマンド

  • broot --- ファイラー。ファイルツリーの表示および内容の閲覧や編集が可能。

  • pastel --- 色表示、変換などができるツール。RGBやHex(HTML)表示などのコードを取得できる。

  • もた日記 --- その他コマンドの説明がいろいろ書かれていて参考になりました。

Discussion