Linuxはサブフォルダー内のフォルダーを検索します


19

480debugerror子ディレクトリの下にネストされた名前のディレクトリを見つけようとしています。正確なパスがわからない、または探したいディレクトリの正確なスペルを知っている場合でも。

特定のプレフィックスまたはサフィックスを持つディレクトリ、たとえば、名前が「debug」または「debug error」で、不明なプレフィックスまたはサフィックスを持つディレクトリを検索するLinuxコマンドはありますか?


2
locate(ファイルの検索)またはfind(ファイルの検索)を試すことができます。
ミク

find -type f -name * ummy ...しかし、取得しない

3
-type dが必要です。fファイルを検索
-thkala

回答:


16

find あなたが必要なものです:

$ find -type d -name '*debugerror*'

または

$ find -type d -name '480debugerror'

フォルダー名について確信がある場合。



1
locate -i "480debugerror"

PCでインデックスが作成されたすべてのファイルをリストするデータベースをチェックします。私はこのようなシナリオをよく持っているので、次のような検索を行います。

locate -i "debug" | grep -i "log"

これは、パスにあるすべてのファイルを検索します(大文字と小文字の区別[-iの意味]) "debug"および "log"(不明な場合| grep、locateが生成する結果内で検索する手段)

Locateをfindよりも使用する利点は、locateの出力がはるかに高速になることです(データベースをチェックするだけなので)が、ファイル/フォルダーにインデックスが付けられていない場合、何も見つかりません。(使用できるデータベースを更新するにはsudo updatedb


slocateインストール済みの場合のみ。一部の実稼働環境はそうではありません:
Zsolt Botykai


1

bashでは、

shopt -s nullglob globstar
echo **/*480*/
echo **/*debug*/
echo **/*error*/

480、デバッグまたはエラーを含む名前のディレクトリを再帰的に検索します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.