Ekspor dimensi gambar ke teks?

0

Saya memiliki gambar yang disebut a.jpg. Saya menggunakan "penampil gambar berbasis feh - imlib2" untuk mendapatkan informasi tentang dimensi gambar. Perintah yang saya gunakan adalah

feh -l a.jpg

Dan hasilnya adalah

NUM FORMAT  WIDTH   HEIGHT  PIXELS  SIZE(bytes) ALPHA   FILENAME
1   jpeg    1280    960     1228800 91319       -       a.jpg

Sekarang saya memiliki sekitar 160.000 gambar dalam direktori saya, saya ingin mengekspor dimensi gambar tersebut ke teks. Perintah yang saya gunakan adalah:

feh -l * > dimension.txt

Tetapi ketika saya melakukannya, dikatakan:

bash: /usr/bin/feh: Argument list too long

Adakah yang tahu apa perintah yang tepat?

pengguna3195859
sumber

Jawaban:

1
find . -type f -print0 | xargs -0 feh -l > dimension.txt

find menghasilkan nama file untuk semua file dalam subdir (dan juga secara rekursif, jika itu masalah, tambahkan -maxdepth 1ke perintah find), ia akan mengirimkannya sebagai data NOL yang diakhiri dengan data ke xargs. Kami melakukan ini untuk dapat menangani nama file dengan benar dengan spasi (dan sampah lainnya).

xargs mengumpulkan nama-nama, menempatkan sebanyak mungkin pada setiap baris perintah yang digunakan untuk menjalankan feh. Ini kembali menjalankan baris perintah sampai semua nama digunakan.

Ada juga identifyprogram dari imagemagickpaket, ia melakukan hal yang sama seperti feh -lperintah, menunjukkan dimensi. Penggunaan untuk banyak file ini akan serupa, menggantikan feh -ldalam perintah xargs .

lornix
sumber