Linuxで動的にファイルを見つけてディレクトリにコピーする方法

Linuxで動的にファイルを見つけてディレクトリにコピーする方法

このファイルを見つけてディレクトリ(test_dir)にコピーしてみてください。

abc-1.0.zip
kncb-1.0.zip
jenk-1.1.zip

これらすべてのファイルを動的に見つけてディレクトリにコピーしたいと思います。次のコマンドを試しましたが、最後のファイル(jenk * .zip)のみをコピーします。上記のすべてのファイルを上記のディレクトリ(test_dir)にコピーするには、コマンドが必要です。

find / -type f -name "*abc*.zip" -o -name "*kncb*.zip" -o -name "*jenk*.zip" ! -path '*/test_dir/*.jar' -exec cp -ar {} ./test_dir \;

ベストアンサー1

( )手術室を中心にアプリケーションを設定する必要があります。

説明はマニュアルページにあります。

-aは、暗黙的に(たとえば、2つのテスト間に明示的な演算子がない)、または明示的に指定されている場合は-oよりも優先されます。これは 。 -name afile -o -name bfile -print が見つかると、ファイルが印刷されないことを意味します。

例:

touch afile bfile

いいえ( ):

find . -name afile -o -name bfile -print
./bfile

-name bfileとの間に暗黙的な-aがあります-print

find . -name afile -o -name bfile -a -print
./bfile

( )結果は予想通りです。

find . \( -name afile -o -name bfile \) -print
./afile
./bfile 

あなたの暗黙の値は〜の間-aです。-o -name "*jenk*.zip"! -path '*/test_dir/*.jar'

おすすめ記事