⌨️シェル・Git

ターミナルでファイルを名前で検索する方法(find)

ファイルを名前で探すには find コマンドを使います。

名前で探す(部分一致)

find . -name "*.txt"
# カレントディレクトリ以下の .txt をすべて表示

大文字小文字を無視

find . -iname "readme*"

見つけたファイルに処理をする

find . -name "*.log" -delete      # .log を削除
find . -name "*.jpg" -exec ls -l {} \;  # 各ファイルに ls -l

ポイント

  • . は「今いる場所から下を探す」という意味。
  • 削除系はまず -delete を付けずに表示で確認してから実行すると安全。

よくある質問

findで大文字小文字を無視するには?
-name の代わりに -iname を使います。README でも readme でもマッチします。
間違って削除しないか不安です
まず -delete を付けずに実行して対象を確認し、意図したファイルだけが表示されることを確かめてから削除しましょう。