【毎日更新中】2019/7/19から メンタワイ テレスコープ サーフトリップ中!

【Mac】NASのファイル検索が遅い!ターミナルで検索すればかなりマシになります

Macのバックアップと共有フォルダ用にバッファローのLinkStationを使っています。

でも共有フォルダの検索が異常に遅い

改善方法はあるようなのですがデメリットもあり定番の解決法がありません。

自分の環境ではターミナルで検索したほうが早かった。

ls -d /{ココに検索したいディレクトリ}/* | grep "ここに検索文字"

もう少し詳しい説明

ターミナルを起動します。Launchpadなんかで「ターミナル」と検索すればOK。

ターミナルに下記コマンドをコピペ

ls -d /{ココに検索したいディレクトリ}/* | grep "ここに検索文字"

{ココに検索したいディレクトリ} の部分は入力が面倒ですがFinderからドラック&ドロップすれば自動入力されます。

これでEnterを押せば検索文字列を含むファイルやフォルダのフルパスが表示されます。

コマンドの説明

ls -d /{ココに検索したいディレクトリ}/*

  • lsコマンド:ファイルやディレクトリ(フォルダ)をリストを表示する
  • -d:ディレクトリ情報を表示するオプション

これで指定したディレクトリに含まれる「ファイル」「ディレクトリ(フォルダ)」のフルパス一覧が表示されます。

grep “ここに検索文字”

grepはテキスト中から正規表現に一致する行を出力するコマンド。

ls -d と grepを「|(パイプ)」 でつなぐことによりls -d の結果(リスト)をgrepに受け渡している。

これで「指定ディレクトリ」に含まれるフルパスで「指定文字が含まれる行だけ」を抜き出せる。

【さらに拡張】見つかったフォルダやファイルを開く

見つかったのがファイルであればデフォルトの「アプリケーションで開く」。フォルダなら「Finderで開く」までを一気にやるコマンドです。

open "`ls -d /{ココに検索したいディレクトリ}/* | grep "ここに検索文字" | head -1`"

「head -1」はリストの1行目だけを抜き出すコマンド(ls -dだと複数行見つかる可能性があるため。

「open」はアプリケーションやフォルダで開くコマンド。

openにはパイプで引数を渡せなかったので「`(バッククォート)」で括って実行結果を直接渡しています。

スポンサーリンク

まとめ

findコマンドだとlsコマンドより遅かったので今回はコレで。

覚えられないのでスペニットとして「Clipy」に登録しておくと便利かな。

>>>Clipy – macOS スニペットアプリ

関連記事


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です