|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 | |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 481 ![]() |
Bonjour,
Perl offre la possibilité de lancer en une ligne de commande un traitement de fichiers ou toutes autres actions. Cela s'appelle traditionnellement des unilignes Perl. Elles nous permettent d'éviter de faire un programme et en même temps de profiter des avantages du langage perl. Cela revient à lancer des commandes à la Linux/Unix mais en perl et sur toutes les plate-formes. Je vous propose que l'on rajoute dans nos sources de la rubrique perl un paragraphe dédié aux unilignes perl afin de faire profiter tout le monde. Mais pour pour cela, il me faudrait la participation de tout le monde car des unilignes, on peut en écrire des centaines. Faites donc vos propositions dans ce topic, et je les rajouterais dans nos sources. Afin que les codes soient le plus clairs pour le grand public, je vous propose de rédiger vos propositions de la façon suivante (ceci est un exemple) : Citation:
Bien évidemment, vos nom de profil seront associé à vos codes gracieusement fournis. Merci d'avance pour vos participations, et n"hésitez pas si vous avez d'autres idées ou remarques sur ce sujet.
__________________
|
|
|
|
20
|
|
|
#2 |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 481 ![]() |
__________________
|
|
|
00
|
|
|
#3 |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 481 ![]() |
Je vois que ça passionne les foules
__________________
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 633 ![]() |
"Quand un arbre tombe, on l'entend ; quand la forêt pousse, pas un bruit."
... patience, le sujet m'intéresse
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430) Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book) Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé Using strict and warnings is good for you. |
|
|
00
|
|
|
#5 | |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 481 ![]() |
Citation:
![]()
__________________
|
|
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 633 ![]() |
Q/R : Comment afficher des colonnes particulières depuis un fichier de type xsv (tableau texte) ?
Chapitres : Traitement de fichiers Testé sous : Linux, Windows Code :
perl -ne 'print join " ", @{[ split /;/ ]}[8,0]' fichier.csv Les colonnes affichées dans l'exemple sont les colonnes d'indice 8 et 0, dans cet ordre. Elles sont affichées avec le paramètre du join comme séparateur.
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430) Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book) Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé Using strict and warnings is good for you. |
|
|
00
|
|
|
#7 | ||
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 481 ![]() |
![]() Par contre attention Philou, cette commande fonctionne sous Windows uniquement avec cygwin Code :
perl -ne "print join qq{ }, @{[ split /;/ ]}[8,0],qq{\n}" fichier.csv Code :
ça te va ?
__________________
|
||
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 633 ![]() |
Ca me convient... je vais d'ailleurs essayer de prendre l'habitude d'utiliser " pour mes unilignes sous cygwin et Linux
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430) Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book) Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé Using strict and warnings is good for you. |
|
|
00
|
|
|
#9 |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 481 ![]() |
unilignes à jours dans nos sources avec 5 questions/réponses
__________________
|
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 633 ![]() |
Pour la bonne indexation des moteurs de recherche, il peut être intéressant de remplacer xsv par csv ou tsv, qui sont des extensions connues.
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430) Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book) Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé Using strict and warnings is good for you. |
|
|
00
|
|
|
#11 |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 481 ![]() |
ça marche, je les rajouterais dans les mots clés de la questions
__________________
|
|
|
00
|
|
|
#12 |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 481 ![]() |
C'est fait !!
__________________
|
|
|
00
|
|
|
#13 |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 481 ![]() |
Nouvelle question : Utilise-t-on des simples ou double quote dans les unilignes ?
Toute suggestion ou correction est la bienvenue.
__________________
|
|
|
00
|
|
|
#14 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 633 ![]() |
Attention, sous unix (et cygwin), on ne peux pas utiliser des quotes simples pour délimiter des chaines non interprétables dans un uniligne défini avec des quotes simples.
Ainsi, pour Code :
perl -e '$pseudo = 'djibril'; print $pseudo;' Code :
perl -e '$pseudo = 'djibril'; print 'pseudo' ;' Code :
perl -e '$pseudo = 'djibril'; print '$pseudo=', $pseudo, "\n";' Code :
perl -e '$pseudo = q(djibril); print q($pseudo=), $pseudo, "\n";'
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430) Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book) Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé Using strict and warnings is good for you. |
|
|
00
|
|
|
#15 |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 481 ![]() |
La réponse a été mise à jour. Merci Philou67430.
__________________
|
|
|
00
|
|
|
#16 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 633 ![]() |
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430) Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book) Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé Using strict and warnings is good for you. |
|
|
00
|
|
|
#17 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 633 ![]() |
Dans cet uniligne, il faudrait ajouter un chomp en première instruction et remplacer qq{\n} par $/ (séparateur de ligne).
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430) Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book) Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé Using strict and warnings is good for you. |
|
|
00
|
|
|
#18 |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 481 ![]() |
Ce qui donne ceci ?
Code :
perl -ne "chomp, print join qq{ }, @{[ split /;/ ]}[8,0],$/" fichier.csv
__________________
|
|
|
00
|
|
|
#19 |
|
Expert Confirmé
![]() ![]() Inscription : avril 2009 Messages : 2 633 ![]() |
j'aurais plutôt mis un ;
Code DOS :
perl -ne "chomp; print join qq{ }, @{[ split /;/ ]}[8,0],$/" fichier.csv
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430) Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book) Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé Using strict and warnings is good for you. |
|
|
00
|
|
|
#20 |
![]() ![]() ![]() Inscription : avril 2004 Messages : 13 481 ![]() |
Oui pardon, tu as raison. bon, je corrige.
__________________
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com