サブディレクトリを除くディレクトリパスでファイルを検索する

サブディレクトリを除くディレクトリパスでファイルを検索する

findこれを使用してディレクトリを巡回してもサブディレクトリに再帰したくない場合はどうすればよいですか?

私はそれを試しましたが、-prune動作しません。選択の余地がない-maxdepth

find /opt/projectname/bin -type f /opt/projectname/bin -prune -o -print
find: missing conjunction
/opt/projectname/bin/file_1_is_printed
/opt/projectname/bin/file_2_is_printed
/opt/projectname/bin/directory_within_bin/some_file_should_not_be_printed
/opt/projectname/bin/directory_2_within_bin/some_file_2_should_not_be_printed

/usr/bin/find:
         find.c $Date: 2011/08/12 15:04:36 $Revision: r11.31/4 PATCH_11.31 (PHCO_42158)
         libcpio.c $Date: 2008/05/27 16:08:10 $Revision: r11.31/2 PATCH_11.31 (PHCO_36666)
         $Revision: @(#) find R11.31_BL2011_0923_2 PATCH_11.31 PHCO_42158

この質問は重複しません。ここにGNUはありません。この質問は重複する可能性がありますが、これらの質問に対する回答を得るには、すべてGNUツールをインストールする必要があります。したがって、ここにある回答が問題解決に役立つ場合、これはユニークなスレッドです。

ベストアンサー1

質問のコマンドが実際に入力したと仮定すると、ジョブとディレクトリfind検索のルートが混在してエラーメッセージが表示されます。

私の提案は以下に基づいています。このHP UXのマニュアルページfind、あなたの 'いいえ-maxdepth「声明。

次のバリエーションをお試しください。

find /opt/projectname/bin -path '/opt/projectname/bin/*/*' -prune -o -type f -print

ディレクトリに「あまりにも多くの」ファイルがないことがわかったら、実際にこの「よりきれいな」代替策を検討します。ただし、お客様の場合は、以下を受け付けない場合があります。

find /opt/projectname/bin/* -type f -print -o -prune

おすすめ記事