[ Jbyn4e @ 01.04.2009. 08:26 ] @
U skorije vreme sam morao na mailing list serveru koja svoju bazu cuva u flat file formatu (tj. u fajlovima) da promenim sve .yu u .rs, da ne bi korisnici bili isclanjeni zbog prestanka rada .yu domena. To se relativno lako postize, ali sam pomislio da ce nekome trebati ili biti korisno, pa evo kako se to radi. Prvo, rec je o ecartis mailing list serveru koji korisnike drzi u fajlovima naziva users u direktorijumu po nazivu liste ime_liste, tj. fajl je oblika ime_liste/users. Jednostavan skript koji to radi, a pokrenut je u tom korenom direktorijumu listi je: for i in `find . -name 'users'| sed 's_\./__g'`; do sed 's/\.yu/\.rs/g' $i > $i.rs mv $i.rs $i done Objasnjenje skripta: za svaki "i" koji zadovoljava da se nasao u obliku ime_direktorijuma/users (find ce naci oblika ./ime_dir/users, a sed mu skida to ./, mada mu verovatno ne smeta, vise volim kad je preglednije) uradi zameni sed-om .yu u .rs, smesti u fajl users.rs pomeri users.rs u users zavrsi sa radom. Nadam se da ce nekome biti korisno. P.S. koriscenje separatora kod sed-a nije ograniceno na /, vec moze i _ (pretpostavljam i jos neki, ali mi nikad nije trebalo), pa je u primeru gore upotrebljen jednom jedan a drugi put drugi cisto primera radi. [Ovu poruku je menjao Jbyn4e dana 01.04.2009. u 13:17 GMT+1] |