January 2024
Intermediate to advanced
472 pages
5h 56m
Japanese
そのとき、メモを取るべきだったかもしれない。でも、ペンを探そう(find)と周りを見渡し、あなたが言ったことを考えようとしたとき、私たちは別れたの
—— They Might Be Giants, "Broke in Two" (2004)
本章では、findコマンドのクローンを作成します。findは、ファイルやディレクトリを検索するためのコマンドです。制約なしでfindを実行すると、ファイル、シンボリックリンク、ソケット、ディレクトリなどのエントリについて、1つ以上のパスを再帰的に検索します。制約をかける場合は、名前やファイルサイズ、ファイルタイプ、更新日時、パーミッションなどを指定できます。今回は、1つ以上の正規表現に一致する名前を持つファイルやディレクトリ、リンクを複数のディレクトリにまたがって検索できるようにします。
本章では、次の内容を学びます。
clapを使い、コマンドライン引数の値に制約をかける方法unreachable!マクロを使ったパニックの起こし方walkdirクレートでファイルパスを再帰的に検索する方法Iterator::any関数の使い方filter、map、filter_mapを連鎖させる方法まずは、findの動作について説明します。以下に、BSD版の500行程度あるマニュアルページの冒頭を示します。本章のプログラムでは、1つ以上のパスに存在するエントリを検索する必要があります。また、これらのエントリは、ファイル、リンク、ディレクトリ、および任意のパターンに一致する名前でフィルタリングできます。 ...