Pertama-tama saya akan menyimpan daftar file untuk sementara dan menggunakan loop.
find . -mtime -90 -ls >/tmp/copy.todo.txt
Anda dapat membaca daftarnya, jika tidak terlalu besar, dengan
for f in `cat /tmp/copy.todo.txt`;
do echo $f;
done
Catatan:tanda kutip di sekitar cat... adalah backticks, biasanya di pojok kiri atas keyboard.
Anda kemudian dapat mengganti perintah gema dengan perintah salin:
for f in `cat /tmp/copy.todo.txt`;
do cp $f /some/directory/
done
Seseorang juga dapat memilih tanggal dan waktu yang tepat selain kembali ke jumlah hari tertentu:
cp `find . -type f -newermt '18 sep 2016 20:05:00'` FOLDER
Di atas menyalin semua file dalam direktori yang dibuat setelah 18 September 2016 20:05:00 ke FOLDER
(tiga bulan sebelum hari ini :)
Hati-hati dengan simbol untuk perintah find. Itu tidak yang ini:'
Inilah, backtick:`
Pemilihan tanggal dengan ini:'
Jika Anda memiliki file dengan spasi, baris baru, tab, atau wildcard dalam namanya, Anda dapat menggunakan salah satu solusi dari Stéphane Chazelas. Yang pertama untuk GNU, dan yang kedua untuk GNU atau beberapa BSD:
find . -type f -newermt '18 sep 2016 20:05:00' -exec cp -t FOLDER {} +
find . -type f -newermt '18 sep 2016 20:05:00' -exec sh -c 'cp "[email protected]" FOLDER' sh {} +
Gunakan perintah ini:
for i in `ls -lrt | grep "jul" | awk '{print $9}' `; do cp $i* /some/folder/; done
Gunakan -exec
opsi untuk find
:
find . -mtime -90 -exec cp {} targetdir \;
-exec
akan menyalin setiap hasil yang dikembalikan oleh find
ke direktori yang ditentukan (targetdir
dalam contoh di atas).