Je n'ose pas imaginer ce qu'il se passerait si ton tirage devenait gagnant :mrgreen:
Type: Messages; Utilisateur: Philou67430
Je n'ose pas imaginer ce qu'il se passerait si ton tirage devenait gagnant :mrgreen:
Encore plus court :
perl -i.bak -nE 'chomp;print $_, $.%3 ? "|":"\n"' *.txt
(cygwin/linux)
L'option -n fait la while(<>) toute seule.
Sur mon cygwin, j'ai aussi des fichiers de mon répertoire local qui sont listés... :calim2:
Petite amélioration : remplacer
`perl ...
par
`$0 ...
Ceci permet de ne pas se soucier de l'exécutable perl utilisé (dans le cas d'une installation de plusieurs perl). Dans ce cas de figure,...
OK avec la suppression de $/, et OK aussi avec l'explication du code de djibril
Au final, l'option -l nous sauve la vie, et fait le chomp avant que l'option -a découpe l'entrée :
perl -nlaF';' -e 'print join qq( ), @F[8,0], $/' fichier.csv
En fait, c'est plus compliqué que cela, le chomp n'est pas fait, et l'introduire sur $_ ne fonctionne pas : il faut le faire sur $F[$#F], ce qui alourdit légèrement l'uniligne (il serait logique que...
Tout bonnement parce que je ne connaissais pas ces options -a et -F 8O
Il faut naturellement utiliser ces options qui simplifient l'uniligne d'origine :
perl -naF';' -e 'chomp;print join qq(...
En fait, c'est OK, j'ai récupéré le fichier de test avec un copier/coller et je l'ai testé avec la dernière colonne en premier : tout baigne (et il y avait bien un bug).
Oui, ça me semble parfait. Par contre, j'ai pas refait d'essai... Il aurait été intéressant dans l'article de mettre un exemple de csv ;)
Le bug, c'est que si on sélectionne la dernière colonne et qu'on la place avant la fin, les lignes seront coupées en deux. Et même si on la met en dernier, comme dans le fichier d'origine, on aura...
j'aurais plutôt mis un ;
perl -ne "chomp; print join qq{ }, @{[ split /;/ ]}[8,0],$/" fichier.csv
Dans cet uniligne, il faudrait ajouter un chomp en première instruction et remplacer qq{\n} par $/ (séparateur de ligne).
:ccool:
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
perl -e...
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.
Ca me convient... je vais d'ailleurs essayer de prendre l'habitude d'utiliser " pour mes unilignes sous cygwin et Linux :ccool:
Q/R : Comment afficher des colonnes particulières depuis un fichier de type xsv (tableau texte) ?
Chapitres : Traitement de fichiers
Testé sous : Linux, Windows
perl -ne 'print join " ", @{[...
"Quand un arbre tombe, on l'entend ; quand la forêt pousse, pas un bruit."
... patience, le sujet m'intéresse :)
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.