perl

Naudok priemonę labiausiai tinkančią užduočiai spręsti

Kadangi esu programuotojas, mėgstu įvairias užduotis automatizuoti. Kartais automatizavimas sutaupo labai daug laiko, kartais galima sugaišti labai daug laiko automatizuojant, bet šį kartą ne apie tai...

Trumpai apžvelgsiu priemones, kurias naudoju užduočių automatizavimui.

Kaip pakeisti daug failų komandinės eilutės ir perl pagalba

Programuodamas patekau į tokią situaciją, kurioje reikėjo surasti tam tikrus failus, kuriuose nėra aprašytas klasės parametras ir įrašytą tą trūkstamą parametrą į klasės vidų.

Pasinaudodamas komandine eilute ir nedideliu perl skriptu tai nesunkiai padariau.

Perl skriptas atrodo taip:

  1.  
  2. if (/^class/) {
  3.     use File::Basename;
  4.     my $layout = basename(dirname($ARGV));
  5.     print "\n    public \$layout = '$layout';\n";
  6. }
  7.  

O komanda atrodo taip:

find -wholename "*/themes/*/layouts/*/config.php" | xargs grep -L "public \$layout" | while read f ; do perl -ni /tmp/replace.pl $f ; done

Naudojantis komandine eilute, labai nesunkiai galima automatizuoti įvairiausias užduotis. Šiame pavyzdyje, vietoje to, kad keliaučiau per visus failus ir rankomis viską keisčiau, tiesiog pasinaudojau nedidele komanda :)

Surinktas turinys