Forum général.général Maîtrise d'outils de scripts

Posté par  .
Étiquettes : aucune
0
30
nov.
2005
Bonjour à tous,

Je poste ce message, car ça fait maintenant plusieurs mois que j'ai découvert les outils sed, awk.

Leur puissance est très impressionnante, et j'aimerais approfondir leur utilisation de manière à pouvoir réellement gagner du temps lors de la réalisation de travaux fastidueux et répétitif.

Pour cela, j'aimerais savoir, si il existait un livre regroupant des exemples et toute l'explication sur l'utilisation avancée de ces outils. Parce que j'ai trouvé ne me satisfaisait pas réellement.

Sinon, y - a - t - il d'autres outils de scripts dans le même style que vous pourrie me conseiller ?
  • # ORA

    Posté par  (site web personnel, Mastodon) . Évalué à 4.

    O'Reilly a deux titres phares:
    http://www.oreilly.com/catalog/sedawkrepr2/index.html
    http://www.oreilly.com/catalog/sed2/index.html

    Sinon, man tr, man regexp, man grep

    La gelée de coings est une chose à ne pas avaler de travers.

    • [^] # Re: ORA

      Posté par  . Évalué à 3.

      Et aussi "Unix Power Tools" (en anglais):
      http://www.oreilly.com/catalog/upt3/

      P.S. préférer info à man pour les outils GNU
      • [^] # Re: ORA

        Posté par  . Évalué à 2.

        je recommande très vivement ce bouquin
        • [^] # Re: ORA

          Posté par  . Évalué à 1.

          Merci pour tous ces noms bouquins, je crois que je vais me jeter sur :

          sed & awk, Second Edition

          Unix Power Tools, Third Edition à l'air plus orienté sur l'administration. Je me l'offrirais peut être plus tard.
  • # meuh

    Posté par  (site web personnel) . É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";
    }
    -=-=---=-=---=-=---=-=---=-=---=-=--
    • [^] # Re: meuh

      Posté par  . Évalué à 1.

      J'avoue bien volontiers que perl est irremplaçable dans ton 1er exemple.
      Mais pour le reste, le shell et les outils GNU me paraissent plus simples et lisibles

      compter toutes les lignes contenant "foo" dans le fichier "bar" :
      grep -c "foo" bar

      count number of messages from each sender
      grep '^From: ' $filename | sort | uniq -c

      (je sais, perl sera plus rapide dans certains cas)
      (zut, je n'ai pas pu résister)
      • [^] # Re: meuh

        Posté par  . Évalué à 3.

        J'avoue bien volontiers que perl est irremplaçable dans ton 1er exemple.


        Bin, non : sed -i 's/Version: 4.3/Version:4.4/' *.c
        • [^] # Re: meuh

          Posté par  . Évalué à 1.

          Dites moi ?

          Quel langage de script est le plus adapté faire l'analyse de chaîne de caractère awk ou perl ?

          Répondez moi en toute objectivité svp (évitons le lancé de troll) :

          - simplicité.
          - efficacité
          - facilité d'aprentissage
          - ....
        • [^] # Re: meuh

          Posté par  . Évalué à 1.

          ah bin tiens, oui. Ca fait donc longtemps que je n'avais pas lu la doc de sed ... Merci
  • # programmation script

    Posté par  . Évalué à 1.

    il manque a ma collection :
    http://www.editions-eyrolles.com/Livre/9782212114058/scripts-sous-linux

    Allez tous vous faire spéculer.

    • [^] # Re: programmation script

      Posté par  . Évalué à 1.

      C'est clair que ce bouquin à l'air complet, je crois que je vais plutôt commencer par celui là.

      Merci du tuyau...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.