Bashスクリプトでのfindコマンドの使い方
Bashは人気のあるUnixシェルで、反復的なタスクを自動化したり、さまざまな操作を行うために広く使用されています。bashシェルの最も便利な機能の一つがfindコマンドです。findコマンドを使用すると、名前、サイズ、または変更時間など、特定の条件を満たすファイルやディレクトリを検索できます。この記事では、bashスクリプト内でfindコマンドを使用するいくつかの方法について説明します。
1: 名前に基づいてファイルを見つける方法 - Bash
findコマンドの最も一般的な使用法は、名前に基づいてファイルを見つけることです。-name オプションを使用して、探しているファイル名を指定することができます。たとえば、次のコマンドを使用して、現在のディレクトリ内の名前に「bashfile」というフレーズが含まれるすべてのファイルを見つけることができます:
#!/bin/bash
find . -name "*<file-name>*"“*” は任意の文字と一致するワイルドカード文字として使用されます。ここでは、現在のディレクトリ内で「bashfile」という名前のファイルを検索しました:
2: タイプに基づいてファイルを見つける方法 - Bash
findコマンドを使用してファイルを見つける別の方法は、-type引数を使用して特定の種類のファイルを検索することです。たとえば、現在のディレクトリ内のすべてのフォルダーを見つけるために使用します。
#!bin/bash
find . -type d
同様に、すべての通常ファイルを見つけるには、次のコマンドを使用できます。
#!bin/bash
find . -type f3: サイズに基づいてファイルを見つける方法 - Bash
ファイルのサイズに基づいてファイルを見つけるには、-sizeオプションを使用することができます。たとえば、現在のディレクトリ内のサイズが1MB未満のすべてのファイルを取得するには、以下のスクリプトを使用できます。
#!bin/bash
find . -size -<file-size-MB>同様に、サイズが1MBを超えるファイルを検索したい場合は、以下のコードを使用してください:
#!bin/bash
find . -size +<file-size-MB>4: 修正時間に基づいてファイルを見つける方法 – Bash
findコマンドを使用するもう1つの方法は、-mtimeオプションを使ってファイルの変更時間に基づいてファイルを見つけることです。例として、私は過去2日間に変更されたファイルを検索しました。そして、それは私が使用したシェルスクリプトです:
#!/bin/bash
find . -mtime -2「-2」は、ファイルが過去2日以内に変更されていることを指定しています。
5: 所有権に基づいてファイルを見つける方法 – Bash
現在のディレクトリ内で特定のユーザーが所有するファイルを見つけるために、-userオプションを使用できます。ユーザーが所有するすべてのファイルを見つけるためには、次のコマンドを使用できます:
#!/bin/bash
find . -user <user-name>探しているファイルを見つけたら、それらに対して何らかのアクションを実行したい場合があります。たとえば、削除したり、別の場所にコピーしたりすることです:
結論
findコマンドは、さまざまな条件に基づいてファイルを検索するのに役立つ強力なツールです。異なるオプションを組み合わせることで、必要なファイルを見つけるための複雑な検索パターンを作成できます。findコマンドを使用して、ファイルの名前、種類、ユーザーグループ、サイズ、および更新日によってファイルを特定することができます。






