macOSユーザーが「rm」コマンドでもっとも削除しているファイル、それが「.DS_Store」と言っても過言ではありません。
.DS_Storeとは、macOSのフォルダでアイコンの位置や表示設定などのメタ情報を保存している隠しファイルです。
しかし、うっかりすると、Windowsユーザーにファイルを送る時に、フォルダごと圧縮したり、Gitで「git add フォルダ」すると、自動的に含まれてしまっていたりするので、「あ、この人、macユーザーなんだ」などと思われてしまうのです。
そこで、なでしこ3(Node.js版)の出番です!
数日前に、GitHubからなでしこ3をインストールする方法を書きましたが、パッケージマネージャーを使うともっと簡単にインストールできます。
なでしこ3(Node.js)をmacOSにインストール
まずは、ターミナル.appを開いて、macOSにHomebrewをインストールします。
続いて、nvmとNode.jsをインストールします。
$ brew install nvm
$ nvm install node
そして、なでしこをインストールします。
$ npm -g install nadesiko3
なでしこ3で.DS_Storeを探して削除するプログラム
そして、なでしこのプログラムを作ります。以下は、カレントディレクトリ以下にある、.DS_Store
を全部探して削除するプログラムです。以下のプログラムを「rm_dsstore.nako3」という名前で保存します。
#!/usr/bin/env cnako3
PWD=作業フォルダ取得
「{PWD}/*.DS_Store」の全ファイル列挙
それを反復
エラー監視
対象をファイル削除。
「[削除] {対象}」を表示。
エラーならば
「[失敗] {対象}」を表示。
ここまで。
ここまで。
そして、実行権限を追加し、パスの通ったディレクトリにこのファイルをコピーしておきます。
$ chmod +x rm_dsstore.nako3
以上で作業完了です。
.DS_Store
を削除したいディレクトリで以下のように実行すれば、そのフォルダ以下にある.DS_Storeが全部削除されます。
$ rm_dsstore.nako3
なでしこを使わない場合
実際、なでしこを使わなくても、以下のコマンドを一発叩けば良いだけなのですが、やはり、なでしこ3で削除したいですよね?
$ find . -name '.DS_Store' -type f -ls -delete
Windowsのthumbs.dbも同じ
ところで、macOSの.DS_Store
に相当するのが、Windowsの「thumbs.db
」でしょうか。上記なでしこのプログラムの「*.DS_Store」を「thumbs.db」に置き換えれば良いだけなので、簡単に対応可能です。
検索したら...
実はマイナビ連載でも似たような記事を書いていたようです。数行のプログラムは何度も頻繁に作られるのです。