web-dev-qa-db-ja.com

特定の文字を含むすべてのディレクトリを検索して印刷する

名前に特定の文字が含まれるすべてのディレクトリを検索して印刷する必要があります。

だから私がディレクトリを持っているなら:

abc cde fgh

そして、私は「c」を検索します。

abc 
cde
10
Devid Demetz

次のコマンドは、必要なクエリを実行します。

find -name "*c*" -type d
  • 現在のディレクトリから始まります(現在のディレクトリの場合、ディレクトリを指定する必要はありません)
  • -name "*c*"-名前にcの文字が含まれています
  • -type d-ディレクトリです

他のディレクトリ(/full/path/to/dir)使用:

find /full/path/to/dir -name "*c*" -type d

詳細 nixCraft findコマンド

18
Yaron

globstar が有効な場合、これを使用できます

for d in **/*c*/; do echo $d; done

最初 **は、任意のサブディレクトリパスと一致します。次に*c*/にc文字が含まれる一致フォルダ

有効になっていない場合は shopt -s globstar

  • グロブスター

    • 設定されている場合、パターン**ファイル名展開コンテキストで使用すると、すべてのファイルと0個以上のディレクトリおよびサブディレクトリに一致します。パターンの後に/、ディレクトリとサブディレクトリのみが一致します。
1
phuclv