
2 つの異なるパスから 1 つのファイルを取得しようとしています。以下のコマンドを使用しましたが、実行は正常に行われているようですが、出力がありません。
find . \( -path "/usr/local" -o -path "/user/local/archive" \) -name "xyz.csv"
これについて助けていただけませんか?
答え1
出力が得られない理由:
- ドットは
.
検索のルートなので、ルートディレクトリにいない場合は/usr/local
検索ツリーに表示されません。 - オプション
-path
は、検索するオブジェクトを含むパス全体に一致する必要があります。したがって、 を指定した場合、-name
この名前も の一部である必要があります-path
(または、*
末尾に でグロブする必要があります)。
しかし、find
検索パスとして複数の引数を取るので、@Kamarajがコメントに書いたように検索することができます。あなたの場合、これは必要ではありません。findはサブディレクトリも検索するのでfind /usr/local -type f -name xyz.csv
、/usr/local/archiv/xyz.csv