29Jun

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

click fraud protection

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

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

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

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

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

$ за ф ин *. пнг; урадите датотеку $ ф; извршите

имаге.пнг: ПНГ податке о слици, 631 к 185, 8-бит / цолорРГБА, непреплетен
имаге1.пнг: подаци ПНГ слике, 631 к 96, 8-битни / боја РГБА, непреплетени

instagram viewer

имаге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.пнг
-сниппед-

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