Homepage » hogyan kell » PNG képek keresése nagyobb mint x pixel A Linux Shell segítségével

    PNG képek keresése nagyobb mint x pixel A Linux Shell segítségével

    Amikor megpróbálja megváltoztatni a webhelyének tervezését, aggódnia kell a cikk tartalmának képeinek szélességével. Jól ismert nagy képeim vannak a legtöbb cikkben, amit írtam, így ha meg szeretném növelni az oldalsávot, akkor fontos, hogy kitaláljuk, mely képek lesznek túl szélesek ahhoz, hogy illeszkedjenek az új designhoz.

    Mivel programozó vagyok, könnyű lenne írni egy kis alkalmazást erre, de elkezdtem gondolkodni… miért nem tudom ezt a Linux parancssorban végrehajtani?

    Az első dolog, amit rájöttem, az volt, hogy a PNG-képek a "fájl" parancs futtatásakor megjelenítik a méretadatokat:

    $ fájl image3.png
    image3.png: PNG képadatok, 613 x 657, 8 bites / színes RGBA, nem átlapolt

    Nagyon hasznos, mivel a webhely 99% -a PNG formátumú. Tehát most dobja be egy hurokba a feltöltési könyvtárban lévő összes fájlhoz:

    $ for f a * .png;

    image.png: PNG képadatok, 631 x 185, 8 bites / színes RGBA, nem átlapolt
    image1.png: PNG képadatok, 631 x 96, 8 bites / színes RGBA, nem átlapolt
    image10.png: PNG képadatok, 375 x 395, 8 bites / színes RGBA, nem átlapolt
    image11.png: PNG képadatok, 484 x 241, 8 bites / színes RGBA, nem átlapolt
    -snipped-

    Ez sokkal hasznosabb, de az adatokat rendezni szeretném az Excelbe vagy hasonló alkalmazásba, ezért úgy döntöttem, hogy a linux “cut” parancsot csak a szélesség oszlop kihúzásához használom..

    Észreveszed, hogy a -f5 paraméter azt mondja, hogy az ötödik oszlopot elvágja, a -d pedig egy szóközt, miután azt mondja, hogy egy vágót használ, hogy egy szóközt használjon. A slash karakter egy menekülési karakter, amely megmondja a shellnek, hogy a szóközt karakterként használja, nem pedig szóközként.

    $ for f a * .png-ban, a $ f | cut -f5 -d fájl készítése

    631
    631
    375
    484
    -snipped-

    Nem teljesen hasznos kimenet, ugye? Nyomja meg ezt a bash if utasítással, majd csak akkor jelenítse meg a fájlparancs kimenetét, ha a szélessége nagyobb, mint 600 pixel.

    Figyelje meg a „(backtick) jeleket a„ f $ cut… ”szakasz, amely azt jelzi, hogy a 'belsejében lévő parancsok egyetlen kimenetként kerülnek feldolgozásra és az if utasításba kerülnek, ahol egy -gt (nagyobb) értéket használunk. Szintén vegye figyelembe, hogy a zárójelek mindkét oldala körül szóköz van []

    f esetén a * .png; cut -f5 -d '-gt 600]; majd fájl $ f; fi; kész

    image.png: PNG képadatok, 631 x 185, 8 bites / színes RGBA, nem átlapolt
    image1.png: PNG képadatok, 631 x 96, 8 bites / színes RGBA, nem átlapolt
    image17.png: PNG képadatok, 638 x 340, 8 bites / színes RGBA, nem átlapolt
    image18.png: PNG képadatok, 608 x 448, 8 bites / színes RGBA, nem átlapolt
    -snipped-

    Most van egy lista a 600 képpontnál szélesebb fájlról. A „fájl $ f” végén állíthatja be a fájlneveket, ha máshol szeretné átmásolni vagy áthelyezni őket:

    f esetén a * .png; cut -f5 -d '-gt 600]; majd echo $ f; fi; kész

    image.png
    image1.png
    image17.png
    image18.png
    -snipped-

    A Linux héj hihetetlenül erős! Ez a megoldás nem igazán praktikus mindenkinek, de jó tudni, hogyan kell dolgozni a héjjal, így elvégezheti az ilyen típusú feladatokat, amikor.