Почетна » како да » Проналажење ПНГ слика Веће од к пиксела кроз Линук Схелл

    Проналажење ПНГ слика Веће од к пиксела кроз Линук Схелл

    Када покушавате да радите на промени дизајна вашег веб сајта, морате се бринути о ширини слика у садржају вашег чланка. Већину чланака које сам написао, имам познате велике снимке екрана, тако да ако желим да повећам бочну траку, веома је важно да схватим које слике ће бити прешироке да би се уклопиле у нови дизајн.

    Пошто сам програмер, било би ми лако да напишем малу апликацију да то урадим, али то ме је натерало да почнем да размишљам ... зашто то не могу да урадим на линији командне линије Линука.?

    Прва ствар коју сам схватио је да ПНГ слике приказују податке о величини када покренете команду “филе” на њима:

    $ филе имаге3.пнг
    имаге3.пнг: ПНГ сликовни подаци, 613 к 657, 8-битни / колорни РГБА, без преплетања

    Веома корисно јер је 99% слике на овом сајту у ПНГ формату. Сада да га баците у петљу за све датотеке у мом директоријуму за отпремање:

    $ за ф у * .пнг; до филе $ ф; учињено

    имаге.пнг: ПНГ сликовни подаци, 631 к 185, 8-битни / колорни РГБА, без преплитања
    имаге1.пнг: ПНГ сликовни подаци, 631 к 96, 8-битни / колорни РГБА, без преплитања
    имаге10.пнг: ПНГ сликовни подаци, 375 к 395, 8-битни / колорни РГБА, без преплетања
    имаге11.пнг: ПНГ сликовни подаци, 484 к 241, 8-битни / колорни РГБА, без преплетања
    -сниппед-

    Ово је корисније, али бих морао да повучем податке у Екцел или сличну апликацију да бих сортирао податке, па сам одлучио да користим линук “цут” команду да извадим само колону ширине..

    Приметићете да параметар -ф5 говори да је рез узео пету колону, а -д размак након што каже рез да користи размак као граничник. Знак за косу црту је знак за бијег који говори љусци да користи простор као знак, а не као размак.

    $ за ф у * .пнг, до филе $ ф | цут -ф5 -д \ т

    631
    631
    375
    484
    -сниппед-

    Није потпуно користан излаз, зар не? Хајде да то покренемо кроз басх иф изјаву, а онда само да прикажемо излаз команде фајла када је ширина већа од 600 пиксела.

    Обратите пажњу на '(бацктицк) ознаке око' филе $ ф | цут… ”секција, која указује да ће се команде унутар 'обрадити као један излаз и унети у иф наредбу, гдје користимо -гт (већи од). Такође имајте на уму да су вам потребни простори око обе стране заграда []

    за ф у * .пнг; до иф ['филе $ ф | цут -ф5 -д -гт 600]; затим датотеку $ ф; фи;

    имаге.пнг: ПНГ сликовни подаци, 631 к 185, 8-битни / колорни РГБА, без преплитања
    имаге1.пнг: ПНГ сликовни подаци, 631 к 96, 8-битни / колорни РГБА, без преплитања
    имаге17.пнг: ПНГ сликовни подаци, 638 к 340, 8-битни / колорни РГБА, без преплетања
    имаге18.пнг: ПНГ сликовни подаци, 608 к 448, 8-битни / колорни РГБА, без преплетања
    -сниппед-

    Сада имамо листу свих фајлова већих од 600 пиксела. Можете подесити "филе $ ф" на крају да само одзначите имена датотека ако их требате копирати или премјестити негдје другдје:

    за ф у * .пнг; до иф ['филе $ ф | цут -ф5 -д -гт 600]; затим ецхо $ ф; фи; учињено

    имаге.пнг
    имаге1.пнг
    имаге17.пнг
    имаге18.пнг
    -сниппед-

    Линук љуска је невероватно моћна! Ово решење није баш практично за свакога, али добро је знати како радити са љуском тако да можете извршити ову врсту задатка када је потребно.