Hasznos scriptek /bin/bash

Ide olyasmiket dobálunk, ami egyszer-egyszer jól jön, és itt mindig megtaláljuk.


Rakjunk át mindent UTF8 kódolásra!

Ügyfelünk egy komplett termékpalettát szeretett volna beemelni webáruházába, jó adag különálló CSV fájlból. Vegyesen spanyol/angol nyelvű fájlok, és meglepetés: A karakterkódolás nem ám UTF-8, hanem rögtön UTF-16LE, amitől a csv import csak jó nagyokat pislogott, és bár lefutott, de a kimeneti karakterek egészen különlegesek voltak. Valamiért phpból sem az iconv(), sem az mb_convert_encoding() nem tudta hiba nélkül hozni a kötelezőt, így aztán BASH barátunkra kellett támaszkodni.
Igaz mindössze két sor, de két másodperc alatt megcsinálta a teljes könyvtárat, megannyi fogcsikorgatást spórolva ezzel a becsületes fejlesztőnek.
                        
#!/usr/bin/env bash
# Purpose: batch csv encoding
# Author: Colex

# absolute path to the source folder
FOLDER="."

find ${FOLDER} -iname '*.csv' -exec iconv -f utf-16le -t utf8 {}  -o {}.utf8 \; 
                        
                    

Csoportos képméretezés

Örököltünk egy projektet, amelyben létezett egy eléggé statikus bemutató-oldal, ami egyébként jól funkcionált, az ügyfél azonban kitalálta, hogy az oldalon látható N+1 képet le kellene cserélni.
Mivel valóban eléggé gyerekcipőben járt a weboldal kódja, illetve nem volt értelme kibővíteni egy tisztességes thumbnail generátorral, lévén a képek egyébként nagyon ritkán változnak, így újfent régi barátunkhoz fordultunk. Igaz mindössze két sor, de két másodperc alatt megcsinálta a teljes könyvtárat, megannyi fogcsikorgatást spórolva ezzel a becsületes fejlesztőnek.
                        
#!/usr/bin/env bash
# Purpose: batch image resizer
# Author: Colex

# forras konyvtar
FOLDER="."

# kep maximalis szelessege
WIDTH=1200

# kep maximalis magassaga
HEIGHT=1000

# minden jpg atmeretezese a konyvtarban, felulirassal
find ${FOLDER} -iname '*.jpg' -exec convert \{} -verbose -resize $WIDTHx$HEIGHT\> \{} \;
                        
                    


Hobbiprojektek.
Időnként, ha jut egy kis időnk, ide pakolunk fel mindenféle hobbi/érdekes/egyéb apróságot, a Bash scriptektől kezdve a vektoros apróságokon át a phantomJs crawlerekig mindent.
Általában nem hasznos dolgok, bár ki tudja, ami az egyiknek szemét, a másiknak kincs.