bash を使用して、特定のディレクトリ内のファイルのみを検索し、サブディレクトリを無視する方法 質問する

bash を使用して、特定のディレクトリ内のファイルのみを検索し、サブディレクトリを無視する方法 質問する

特定のファイルを検索するコマンドを実行していますfindが、サブディレクトリ内の一部のファイルの名前が同じなので、それを無視します。

次のようなファイル/パターンに興味があります:

/dev/abc-scanner, /dev/abc-cash ....

コマンド:

find /dev/ -name 'abc-*'

返されるもの:

/dev/abc-scanner
/dev/abc-cash
...
...
...
/dev/.udev/names/abc-scanner
/dev/.udev/names/abc-cash

後者のファイルは無視します:/dev/.udev/...

ベストアンサー1

検索を最初のレベルだけに制限したい場合は、次のようにします。

 find /dev -maxdepth 1 -name 'abc-*'

...または、特にディレクトリを除外したい場合は.udev、次のようにします。

 find /dev -name '.udev' -prune -o -name 'abc-*' -print

質問のディレクトリであることに注意してください/dev。これを検索したいディレクトリに置き換える必要があります。

おすすめ記事