同じサーバー内の1つのUNIXパスから別のUNIXパスにすべてのファイルをコピーする必要があります。しかし、コピーするときにいくつかの.zipファイルを除外したいと思います。どうやって使うの?CPコマンドオプション?
答え1
cp
/globbingのみを使用し、/execを使用してfind
これを実行できるかどうかはわかりません。
find /first/path/ -type f -not -name '*.zip' -exec cp {} /second/path/ \;
再帰を防ぐには、maxdepth
次のオプションを追加できます。
find /first/path/ -maxdepth 1 -type f -not -name '*.zip' -exec cp {} /second/path/ \;
または、ソースからターゲットにすべてをコピーし、すべての.zipファイルを確認して削除することもできます。
cp -R /first/path/ /second/path/ && find /second/path -type f -name '*.zip' -exec rm {} \;
答え2
答え3
using onlyが必要かどうかはわかりませんが、cp
bashを使用してファイル名にスペースが含まれていないことを確認した場合は、次のようになりますか?
ソースパスへ
cp $(ls | grep -v *.zip) /destination/path