findコマンドの使い方

フォルダ名やファイル名に含まれるスペース文字を回避する

説明

デフォルトの区切り文字はスペース文字。-print0 指定で区切り文字をNUL文字に変更する。xargsの区切り文字指定をあわせてNUL文字にすることで、フォルダ名やファイル名に含まれているスペース文字を区切り文字と誤認することを回避する。



検索ファイル名を xargs で受け取り、パイプライン後のコマンドに渡す

  • -J で置換文字を指定する。"%" がファイル名に置き換えられる。

検索ファイル名を引数にして exec で実行する。

  • {} : ファイル名に置き換えるられる。
  • \; : 単体実行。cpコマンドをファイル名毎に1回1回実行する。

    • cp foo.jpg ~/img/
    • cp bar.jpg ~/img/
    • cp baz.jpg ~/img/


アクセス制限のエラーを表示させない。

失敗例

解決法 : 標準エラー出力をnullデバイスへリダイレクトする。


ファイル名やフォルダ名の大文字/小文字を区別しない

説明

-inameを指定することで "foo.c" と "foo.C" の両方が検索される。


複数条件を指定する

説明

-o または -or で複数の条件を括弧で括って連結することができる。


ファイルのみを検索対象とする

  • f : ファイル
  • d : ディレクトリ


タイムスタンプで検索する

例. 30日以前に更新されたファイルを検索

例. 30日以降に更新されたファイルを検索


特定のフォルダを除外してファイル一覧を作成する

オプションの意味をわかりやすくするために括弧で括った例

ディレクトリ ".git" を除外(prune) し、ファイルをプリントする


内部リンク

外部リンク