mrg - macOSでの文字分解現象を解消し、雑多なメタデータファイルを削除するツール
(github.com/ilotoki0804)mrgは、macOSで生成される雑多なファイルを削除したり、ファイル名をUnicodeで正規化したりする際に使うCLIユーティリティです。
mrgの機能
- Unicodeファイル名のNFC正規化(
--bad-unicode): 文字分解現象を解消します。 .DS_Storeファイルの削除(--ds-store): フォルダをFinderで閲覧したときに生成される.DS_Storeファイルを削除します。._*ファイルの削除(--dot): macOSでメタデータやインデックス情報などを保存する._*ファイルを削除します。
mrgの特徴
- ANSIカラー対応: mrgは見やすいターミナルカラーをサポートしています。色によってディレクトリの状態を直感的に確認できます。もちろん、
NO_COLOR環境変数で無効化することも可能です。 - 見やすい分析レポートを提供: mrgでスキャンや整理を行うと、結果について見やすい分析を提供します。これにより、mrgがスキャン・整理した内容をひと目で確認できます。
- JSON分析レポートを提供: 人間向けの見やすい分析に加えて、機械可読なJSON形式の分析も提供されます。
- Python APIを提供: mrgはPythonモジュールとしても使用できます。Pythonの
mrgモジュールを通じて、mrgをPythonから実行したりカスタマイズしたりできます。 - 外部依存なし: mrgはランタイムにおいて、Pythonに標準で含まれるライブラリ以外の外部ライブラリを一切使用していません。
インストール
Homebrew経由でmrgをインストールできます。
brew tap ilotoki0804/homebrew-mrg
brew install mrg
uvを使う場合は、uvx mrgでもインストールできます。
使い方
mrgは基本的にpathを引数として受け取ります。ディレクトリを調べるには、以下のようにmrgコマンドの後ろにパスを入力してください。
mrg .
このように他の引数を付けずに実行すると、デフォルトで「スキャンモード」になります。
この状態ではいかなるファイルも変更せず、単にディレクトリの状態を調査したうえで分析結果を提供します。
実際にファイルを整理したり修正したりするには、引数を追加する必要があります。次の引数のうち1つ以上を付けてディレクトリを整理できます。
--dot:._*ファイルを削除します。デフォルトでは、一般的なサイズで対応するファイルが存在する場合にのみ削除します。--bad-unicode: NFC正規化されていないUnicodeのファイル名・フォルダ名を正規化します。--ds-store:.DS_Storeファイルを削除します。
たとえば、.ディレクトリ内のすべてのファイルとディレクトリをNFCで正規化するには、次のコードを使用できます。
mrg . --bad-unicode
--bad-unicode、--ds-store、--dotをすべて同時に実行したい場合は、--allフラグを使用できます。
mrg . --all
mrgは、macOSで生成されたジャンクファイルを整理するという意味で、macOSとゴミを組み合わせた「メクレギ」の頭字語です。
完全な説明はリンクを参照してください。Apache 2.0で公開されているオープンソースツールで、PRやIssueなどもすべて歓迎します。
まだコメントはありません。