1日以内にすべてのファイルを再帰的にコピーする方法は?
私の最初の試み
find . -amin -1440 | xargs cp /dest
ただし、その項目はパラメータの前にxargs
配置する必要があるため機能しません。/dest
答え1
-t
GNUオプションが利用可能ですcp
。
-t, --target-directory=DIRECTORY
copy all SOURCE arguments into DIRECTORY
find
'sも使用する必要があります-print0
。xargs -0
そうしないと、スペースやその他の奇妙な文字を含むファイル名が失敗します。
find . -amin -1440 -print0 | xargs -O cp -t /dest
より良いアプローチは、それ自体を使用しfind
てxargs
完全に避けることです。
find . -amin -1440 -exec cp -t /dest {} +
最後に、「ファイル」に言及したので、ディレクトリ、シンボリックリンク、その他の奇妙な項目をスキップして、一般的なファイルのみを見つけるfind
ように指示できます。
find . -type f -amin -1440 -exec cp -t /dest {} +