• # meuh

    Posté par . En réponse au message Maîtrise d'outils de scripts. Évalué à 2.

    Une évolution de sed/awk qui est intéressante pour le scripting unix est Perl.

    Exemples parlants :

    changer la version dans tous les fichiers .c du répertoire :
    $ perl -pi -e 's/Version: 4.3/Version:4.4/' *.c

    compter toutes les lignes contenant "foo" dans le fichier "bar" :
    $ perl -ne '$foo++ if /foo/; END { print "total: $foo\n" }' bar


    Pour apprendre Perl il y a, en plus du camel book trouvable facilement chez O'Reilly, le Perl Cookbook qui a une approche très pratique qui en fait un guide de référence très pratique (plutôt qu'un livre à lire en entier).

    Example parlant en provenance du cookbook :

    -=-=---=-=---=-=---=-=---=-=---=-=--
    #!/usr/bin/perl
    # countfrom - count number of messages from each sender

    $filename = $ARGV[0] || "-";

    open(FILE, "<$filename") or die "Can't open $filename : $!";

    while() {
    if (/^From: (.*)/) { $from{1ドル}++ }
    }

    foreach $person (sort keys %from) {
    print "$person: $from{$person}\n";
    }
    -=-=---=-=---=-=---=-=---=-=---=-=--