Katakanlah dalam folder saya, ~/list
saya memiliki sejumlah besar folder masing-masing dengan sub-folder dan sub-folder mereka sendiri dll, dan ada banyak file hampir di setiap level. Namun beberapa file dan folder ini kosong, jadi bagaimana saya bisa mencari semuanya secara rekursif untuk menemukan file dan folder yang kosong? Dan kemudian mereka ditampilkan dalam daftar lokasi file sehingga saya tahu di mana masing-masing (juga harus jelas yang merupakan file dan yang merupakan folder karena tidak semua file memiliki ekstensi file). Saya menjalankan Ubuntu GNOME 15.10 dengan GNOME 3.18.
Harap perhatikan bahwa itu juga akan sangat berguna jika itu juga akan memberi tahu saya jika suatu file tampak kosong tetapi tidak (misalnya jika ada spasi atau garis pemisah di dalamnya atau sesuatu). Dan akan membedakan antara file kosong nyata dan yang hanya terlihat kosong dalam output.
Jawaban:
Dari
man find
Jadi untuk menemukan file dan direktori kosong itu sudah cukup untuk dilakukan
Untuk menunjukkan jenisnya, Anda bisa menggunakan
%y
specifier format outputmisalnya
atau memanfaatkan program eksternal seperti
ls
, yang mencakup--classify
opsiyaitu
Jika definisi 'kosong' Anda diperluas untuk menyertakan file yang hanya berisi karakter spasi putih, maka itu menjadi lebih rumit - dan semakin intensif secara komputasi, karena sekarang Anda harus benar-benar membuka setidaknya file yang tidak kosong dan memeriksa isinya. Cara paling efisien yang bisa saya pikirkan dari atas kepala saya akan menjadi sesuatu seperti
(baik kosong, ATAU file DAN grep tidak mendeteksi setidaknya satu karakter yang tidak kosong). Kemungkinan ada cara yang lebih baik.
sumber
Dari
~/list
folder:untuk daftar direktori kosong dan
untuk daftar file kosong.
untuk daftar folder dan file kosong termasuk spasi putih dan baris kosong
sumber
[ `grep -c [[:alnum:]] "{}"` -eq 0 ]
akan membiarkan melalui file yang hanya berisi karakter tidak di[A-Za-z0-9]
set.