Bonjour,
ma question est simple .
Comment représenter cette commande dans une variable perl.
merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 awk 'BEGIN {FS=";"} {print $1 FS $3 FS $4}' < fichier-orig.csv > fichier-dest.csv
Bonjour,
ma question est simple .
Comment représenter cette commande dans une variable perl.
merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 awk 'BEGIN {FS=";"} {print $1 FS $3 FS $4}' < fichier-orig.csv > fichier-dest.csv
Tu peux exécuter cette commande par :
D'un autre côté, tu peux faire la même chose en Perl, en one-liner :
Code : Sélectionner tout - Visualiser dans une fenêtre à part system( q/awk 'BEGIN {FS=";"} {print $1 FS $3 FS $4}' < fichier-orig.csv > fichier-dest.csv/ );
ou simplement dans un script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part perl -F; -ane 'print +(join ";", @F[0,2,3])' fichier-orig.csv > fichier-dest.csv
--
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 while(<>) { my @fields = split /;/; print +(join ";", @fields[0,2,3]); }
Jedaï
c'est cette solution qui m'interesse mais perl prend $1 $3 $4 comme variable ainsi le ";" comme fin de ligne.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 system( q/awk 'BEGIN {FS=";"} {print $1 FS $3 FS $4}' < fichier-orig.csv > fichier-dest.csv/ );
alors je sais pas comment faire
merci
c'est justement pour ça qu'il as répondu
tout ce qui est entre q/ et / n'est pas interpréter par perlsystem( q/awk 'BEGIN {FS=";"} {print $1 FS $3 FS $4}' < fichier-orig.csv > fichier-dest.csv/ );
merci, mais peut etre je suis pas allé au bout de ma question,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 system( q/awk 'BEGIN {FS=";"} {print $1 FS $3 FS $4}' < fichier-orig.csv > fichier-dest.csv/ );
j'aimerais bien savoir comment l'écrire cette fois avec
avec $file doit etre interprété .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 system( q/awk 'BEGIN {FS=";"} {print $1 FS $3 FS $4}' < $file > $file/ );
merci
Un peu d'imagination que diable !!
--
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 system( q/awk 'BEGIN {FS=";"} {print $1 FS $3 FS $4}'/ . " < $file > $file" );
Jedaï
Bonjour,
je suis novice en perl,
j'aimerai pouvoir entrer comme ligne de commande, le nom de mon script ainsi que quelques options le concernant:
par exemple, afficher un nom et un age, de la manière suivante:
perl mon_script.pl --nom=zzz --age=15
merci d'avance
Les paramètres en PERL peuvent se récupérer directement via le tableau @ARGV.
Mais si tu veux utiliser des paramètres du style --truc=machin regarde le module Getopt::Long.
Un p'tit tutoriel est sur ce site : là . Regarde toujours dans les sources, FAQ !!
Sinon, à l'avenir, je te conseille de créer une discussion par toi même plutôt que de poser ta question à la suite d'une ancienne discussion.
Bonjour, j'ai une petite question (sinon je créerais pas de sujet).
Je vais essayer d'être précis, pour éviter les remous habituels. J'avais un projet à faire. Le résultat est là, tout est fini, mais maintenant j'aimerais "unifier" tout ce que je fais. Et pour ça je cherche un langage si possible que je connais, et obligatoirement gratuit (je préfère préciser).
Dans ce projet, j'ai tout d'abord un peu de batch de-ci de-là (pour parcourir des répertoires et établir des listes de noms de fichiers en XML ; pour créer des dossier).
J'ai ensuite 2-3 transformation XSLT, pour obtenir des fichiers XHTML, à partir des fichiers sources, dont je récupère les noms dans mes ch'tites listes. Je déplace d'autres fichiers (notamment des .jpg).
Et je finis par du post-traitement en Perl (je nettoie un peu mes fichiers).
J'aurai aimé avoir l'ensemble des traitements appelés soit dans un Batch (oui je sais, ce n'est pas le bon forum), soit en Perl (ah ! c'est le bon forum !).
La question est donc simple : Pensez-vous que je puisse réunir tout ce beau monde dans un programme Perl ? J'ai vu quelques sujets approchant de la réponse :
Ici, là et là.
Merci de m'aider dans cette réflexion !!
Note : pour l'instant, j'ai un batch qui appellent tout, mais je ne maîtrise pas ce langage, et j'aimerais faire beaucoup plus... et le beaucoup plus, je l'imagine très bien en Perl !
Tu peux bien évidemment regrouper le tout dans un programme perl qui fera les appels systèmes nécessaires.
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
Cette affirmation me suffit pour me lancer dedans ! Merci pour ton retour Djibril.
Et pardon d'avoir apparemment créé un sujet dans ce sujet (en même temps il y avait un lien ; on dira que c'était une question subsidiaire).
Partager