Linux環境における「find」コマンドで、指定した拡張子を持つファイルの一覧を取得する方法を解説します。
特定の拡張子のファイルを取得する
ここでは、特定の拡張子を持つファイルを取得する方法を説明します。
サブディレクトリ配下を含めない
サブディレクトリ配下を検索対象としない場合の記述例です。
find 検索するディレクトリパス -maxdepth 1 -name "*.log"
拡張子が「.log」となっているファイルを検索する例です。
[root@STKPUB002 data]# find . -maxdepth 1 -name "*.log" ./file1.log ./file2.log ./file3.log
サブディレクトリ配下を含む
サブディレクトリ配下も検索対象とする場合の記述例です。
find 検索するディレクトリパス -name "*.拡張子"
拡張子が「.log」となっているファイルを検索する例です。
[root@STKPUB002 data]# find . -name "*.log" ./dir1/text1.log ./dir2/text2.log ./dir3/text3.log ./file1.log ./file2.log ./file3.log
特定の文字列から始まるファイルを取得する
特定の文字列から始まり、尚且つ、指定した拡張子を持つファイルを取得する方法です。
サブディレクトリ配下を含めない
サブディレクトリ配下を検索対象としない場合の記述例です。
find 検索するディレクトリパス -maxdepth 1 -name "接頭辞*.log"
拡張子が「data-~.tar.gz」となっているファイルを検索する例です。
[root@STKPUB002 data]# find . -maxdepth 1 -name "data-*.tar.gz" ./data-20230101.tar.gz ./data-20230102.tar.gz ./data-20230103.tar.gz
サブディレクトリ配下を含む
サブディレクトリ配下も検索対象とする場合の記述例です。
find 検索するディレクトリパス -name "接頭辞*.拡張子"
拡張子が「data-~.tar.gz」となっているファイルを検索する例です。
[root@STKPUB002 data]# find . -name "data-*.tar.gz" ./dir1/data-20230201.tar.gz ./dir2/data-20230202.tar.gz ./dir3/data-20230203.tar.gz ./data-20230101.tar.gz ./data-20230102.tar.gz ./data-20230103.tar.gz
リンク
コメント