OS X - Terlalu banyak file dalam folder, tidak dapat memindahkannya

2

Saya memiliki lebih dari 200.000 file dalam satu folder, yang harus saya urutan menjadi film. Quicktime Pro memberi saya kesalahan jadi saya mencoba untuk membagi gambar menjadi berbagai folder. Sayangnya, Finder tidak membiarkan saya menyalin file ke folder baru. Jika saya pergi satu per satu, maka itu bekerja tetapi masing-masing akan memakan waktu beberapa menit.

Saya di 10.6.8.

Petunjuk apa pun akan sangat dihargai karena memindahkan file-file ini dari folder.

Andrew
sumber
Di mana file-file itu? Bukankah mereka ada di partisi NTFS?
Kamil Klimek
Tidak, mereka ada di partisi Mac OS Extended (Journaled). Ada di folder dokumen saya. Terima kasih telah meluangkan waktu ...
Andrew
Sungguh aneh, bahwa Anda tidak bisa memindahkan mereka. Kesalahan apa yang Anda dapatkan saat mencoba memindahkan / menyalinnya?
Kamil Klimek
Apakah file-file ini dinamai berdasarkan suatu pola? Jika demikian, slhck di sini telah membawa Anda setengah jalan pulang. (Anda dapat membuat regex / glob-pattern berdasarkan pada pola dan menggunakannya dalam findperintah, atau seseorang di sini mungkin menunjukkan caranya.)
jpaugh
1
Maksud saya adalah, dengan temuan saya, saya dapat melakukan sesuatu seperti find /folder -regex 'sameprefix[0-9]{1,3}.jpg', yang akan cocok dengan 1000 file pertama. Saya tidak tahu apakah utilisasi Mac sama bermanfaatnya.
jpaugh

Jawaban:

6

Anda dapat dengan mudah memindahkannya melalui Terminal. Pertama-tama, daftarkan file. Ini bisa memakan waktu cukup lama, dan Anda dapat membatalkannya dengan menekan CtrlC.

find /your-folder -maxdepth 1 -type f

Kami menggunakan maxdepth 1untuk membatasi hasil hanya untuk direktori Anda saat ini, tidak secara rekursif pergi ke subdirektori.

Setelah Anda yakin outputnya benar, Anda dapat memindahkannya. findakan melakukan ini satu per satu untuk Anda. Ganti nama folder sesuai kebutuhan. Misalnya, direktori Movies di direktori home Anda ~/Movies.

Berikut ini akan memindahkan semua file di your-foldertempat lain.

find /your-folder -maxdepth 1 -type f -exec mv '{}' /other-folder \;

Tentu saja, Anda mungkin tidak ingin memindahkan semua file, sehingga Anda dapat membatasi hasilnya ke nama-nama tertentu:

find /your-folder -iname "*.jpg" -maxdepth 1 -type f -exec mv '{}' /other-folder \;

Di sini, Anda bisa berubah *.jpgsesuka Anda. Tanda bintang *cocok dengan karakter apa pun, dan Anda dapat bermain dengan itu untuk mencocokkan hanya sebagian dari file yang ingin Anda pindahkan. Anda bahkan dapat menggunakan ekspresi reguler di sini, seperti catatan @jpaugh :

find /your-folder -regex 'prefix[0-9]{1,3}.jpg'

Ini akan cocok dengan 1000 file pertama jika mereka dinamai dari prefix0.jpgke prefix999.jpg.

slhck
sumber
1
Sayang sekali OS X mvtidak mendukung -targumen target. Kalau tidak find -print0dan xargs -0akan menjadi alternatif menghemat waktu.
Daniel Beck
Jika orang lebih sering merusak terminal dengan cara ini, dunia akan menjadi tempat yang lebih baik. Bagus! :-)
Vishal Kotcherlakota