Sử dụng một thư mục tạm thời, sau đó findtất cả các tệp của bạn, chọn ngẫu nhiên danh sách sortvà di chuyển 1000 danh sách hàng đầu vào thư mục tạm thời. Xóa phần còn lại, sau đó di chuyển các tập tin trở lại từ thư mục tạm thời.
$ mkdir ../tmp-dir
$ find . -type f | sort -R | head -1000 | xargs -I "I" mv I ../tmp-dir/
$ rm ./*
$ mv ../tmp-dir/* .
Nếu xargsphàn nàn về chiều dài dòng, sử dụng một số nhỏ hơn với headvà lặp lại các lệnh khi cần thiết (ví dụ, thay đổi -1000đến -500và chạy nó hai lần, hoặc thay đổi -200và chạy nó 5 lần.)
Nó cũng sẽ không xử lý tên tệp bao gồm khoảng trắng; như @ câu trả lời rld của chương trình, bạn có thể sử dụng find's -print0luận, các -zđối số sortvà head, và -0với xargsđể đảm bảo xử lý tên tập tin thích hợp.
Cuối cùng, nếu tmp-dirđã tồn tại, bạn nên thay thế một tên thư mục không tồn tại.