Solusi 1:
dengan trik ini Anda dapat melihat folder saat ini - tetapi tidak ada bilah kemajuan - maaf.
watch readlink -f /proc/$(pidof find)/cwd
Solusi 2:
Utilitas kecil bernama pv (penampil pipa) mungkin Tolong. Dari ringkasan fantastis oleh Peteris Krumins:
Pipe viewer adalah alat berbasis terminal untuk memantau progres data melalui pipeline.
Anda dapat menggunakan pv dalam beberapa cara. Saat bermain-main di sini, saya meletakkannya segera setelah sebuah pipa untuk memantau kemajuan keluaran yang dihasilkan oleh find (harus meneruskan stdin ke stdout tidak tersentuh)
find / -mtime -1h | pv > /dev/null
yang akan menampilkan keluaran sedikit seperti ini:
6.42MB 0:01:25 [31.7kB/s] [ <=> ]
(Saya mengalihkan stdout ke /dev/null sehingga saya dapat melihat bilah progres beraksi tanpa keluaran terbang. Ini mungkin bukan maksud Anda dengan menemukan, jadi sesuaikan dengan itu)
Sejujurnya saya tidak yakin seberapa baik ini bekerja di alam liar. Untuk penemuan "mahal" seperti di atas (melintasi dari root), tampaknya berfungsi dengan cukup baik. Untuk perintah yang lebih sederhana di simpul yang lebih dalam di pohon direktori, pv gagal total. Perintah ini segera memberikan hasil, jadi bilah progres mungkin diperdebatkan di sini.
Bagaimanapun, bermain-main dan lihat apakah ini berhasil untuk apa yang Anda butuhkan. Makanan untuk dipikirkan, setidaknya.
Solusi 3:
Saya mencari ini hari ini dan sampai di sini melalui Google. Saya sudah lama menemukan berjalan di OS X dan ternyata, watch
tidak ada di sana. Jadi, inilah solusi lain:
lsof -Fn -a -c find -d cwd +r 10
lsof
=daftar file yang terbuka-Fn
=cukup tampilkan nama file/direktori (diawali dengan karakter 'n', lewati ini jika Anda lebih sukalsof
lengkap keluaran-a
=beri tahulsof
untuk hanya menampilkan garis yang cocok dengan semua kriteria (secara default menampilkan baris yang cocok dengan apa saja kriteria)-c find
=tampilkan file/direktori yang dibuka oleh proses bernamafind
(sebenarnya, proses yang namanya dimulai denganfind
, tetapi peka huruf besar kecil jadiFinder
tidak akan muncul)-d cwd
=tampilkan baris dengan FD (filedescriptor) cwd (direktori kerja saat ini)+r 10
=tampilkan output setiap 10 detik hingga tidak ada file yang terbuka ditemukan (find selesai)
Ini akan menampilkan direktori find
sedang diproses setiap 10 detik, jadi seharusnya memberikan gambaran jika find
masih berfungsi dan seberapa jauh kemajuannya.
Solusi 4:
Ada contoh pencarian paralel dengan find
di man find
. Dengan menggunakannya, Anda dapat melakukan beberapa pemeriksaan untuk setiap item, melakukan beberapa tindakan tergantung pada kondisi mana yang berfungsi. Pemeriksaan pertama mungkin, misalnya, -print
sederhana , jadi semua nama dicetak ke stdout. Pemeriksaan kedua akan melakukan apa yang Anda inginkan. Sesuatu seperti:
find /work \( -fprint /dev/stderr \) , \( -name 'core' -exec rm {} \; \)
Jika pemeriksaan kedua juga harus menampilkan nama file, Anda dapat mengalihkan salah satunya ke stderr menggunakan -fprint /dev/stderr
.
Solusi 5:
AFAIK, tidak, dan mengimplementasikannya akan menjadi hal yang tidak penting.
... Hmm. Mungkin skrip yang menjalankan find <target dir> -type d
pertama, menyimpan daftar dan kemudian menggemakan setiap dir sebelum menjalankan find <list item> -maxdepth 1 <rest of find parameters>
dalam perulangan for.
Perhatikan bahwa Anda memperdagangkan penurunan performa /signifikan/ dengan imbalan samar-samar dapat melihat apa yang dilakukannya.