サブディレクトリから再帰的に検索するのではなく、マスクを介して特定のディレクトリ内のすべてのファイルを取得しようとしています。-maxdepth 0
AIX にはそのようなオプションはありません。
聞いたことはありますが、-prune
まだどのように機能するのか理解していません。
コマンドは次のようになるはずです。
find dir \( ! -name dir -prune -type f \) -a -name filemask
しかし、うまくいきません。
正しいコマンドを作成し、それがどのように機能するかを説明できますか?
UPD
注文だと思います。
find dir ! -path dir -prune
私の場合に使用するためにすべてのファイルとディレクトリを印刷しますdir
が、ファイルとディレクトリは印刷しません。dir/*
答え1
あなたが望むもの:
find dir/. ! -name . -prune -type f -name filemask
または:
find dir ! -path dir -prune -type f -name filemask
filemask
dir
で検索する必要なしに呼び出された一般的なファイルを見つけるにはdir
。
の場合、ディレクトリfind dir ! -name dir -prune
があれば問題があるのです。dir/dir
引数として渡されたファイル以外に呼び出される他のファイルは見つからないため、このdir/.
方法を使用するとこの問題が解決されます。find
.
dir/.
この-path
方法では、ファイルのファイルパス(名前のみではない)を確認してこの問題を解決します。このパスは-path dir
一致しますdir
が一致しませんdir/dir
(したがってdir
クリーンアップされない唯一のディレクトリになります)。-path
ただし、以前のバージョンのAIXでは使用できない可能性があります。
より一般的には、GNU標準に対応するものについては、-maxdepth n
以下を参照してください。POSIX照会を特定の深さに制限しますか?
答え2
AIXでは、オプションを使用できます-prune
。
find ./* -prune