Retourner aux forums || Retourner au forum general.general
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 ?
> Lire le message (12 commentaires, moyenne: 1,6).
ORA
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
En fait, Bernardo n'était pas muet; c'est Zorro qui était sourd.
-
[^]Re: ORA
Posté par syntaxerror () le 30/11/2005 à 12:58. (lien). É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 Gniarf () le 30/11/2005 à 13:07. (lien). Évalué à 2.je recommande très vivement ce bouquin
--
Windows has no users. It has hostages.-
[^]Re: ORA
Posté par jeje99 (page perso, ) le 30/11/2005 à 14:29. (lien). É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
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 syntaxerror () le 30/11/2005 à 13:55. (lien). É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 Bruno Muller (Jabber id, page perso, ) le 30/11/2005 à 14:01. (lien). É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 jeje99 (page perso, ) le 30/11/2005 à 14:32. (lien). É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 syntaxerror () le 30/11/2005 à 14:36. (lien). Évalué à 1.ah bin tiens, oui. Ca fait donc longtemps que je n'avais pas lu la doc de sed ... Merci
-
-
programmation script
il manque a ma collection :
http://www.editions-eyrolles.com/Livre/9782212114058/scripts-sous-linux
tes tournures de phrases ne vallent pas la verité de tes actes
-
[^]Re: programmation script
Posté par jeje99 (page perso, ) le 01/12/2005 à 10:18. (lien). É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...
Revenir en haut de page || Retourner aux forums || Retourner au forum general.general



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.