|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : avril 2004 Messages : 83 ![]() |
Bonjour,
J'ai un petit souci, j'ai fait un petit script qui retire les N dernieres colonnes d'un fichier csv. Ce fichier ce compose d'un header et d'un footer qui comporte moins de colonnes que les données du fichier. Le hic c'est que quand je fais un sur mes données réeles bah ca me vire le footer. J'examine mes données réeles et remarque qu'il n'y a pas de retour à la ligne à la fin du fichier, j'en rajoute une et comme par enchantement ca marche. Maiiiis pourtant quand je crée un fichier de test sous vi, tout bete sans retour à la ligne ca marche ... Est ce que quelqu'un sait pourquoi ? et comment contourner ce probleme ? |
|
|
00
|
|
|
#2 |
![]() Inscription : mars 2004 Messages : 1 298 ![]() |
deja pourquoi utiliser cat et | pour un cut ???? reflexe conditionner au | ? nous ne sommes pas au stade de foot de Berlin
sinon avec les commande head et tail tu devrait pouvoir virer la 1ere et la derniere ligne avant le cut .... (et la ok un bon pipe )
|
|
|
00
|
|
|
#3 | |||||
|
Nouveau Membre du Club
![]() Inscription : avril 2004 Messages : 83 ![]() |
Citation:
bah le truc que je ne comprends pas en fait c'est que j'ai un fichier comme ca : Code :
je fais un cut ou je recupere les 3 premieres colonnes (donc en fait virer le footer et header pour les remettres aprés ca ne m'interesse pas vu qu'ils n'ont que 3 colonnes) et là ... Code :
Y a t'il un moyen de visualiser les caracteres speciaux present dans les fichiers ? Y a t'il un moyen pour que le cut prenne en compte cette derniere ligne ? |
|||||
|
|
00
|
|
|
#4 | |
|
Membre confirmé
![]() Inscription : mai 2004 Messages : 208 ![]() |
Citation:
vim monfichier :se list Ca va t'afficher tous les caracteres speciaux, y compris les rc. Sinon, pour traiter des fichiers csv je pense que tu vas moins galerer en utlisant perl |
|
|
|
00
|
|
|
#5 | |
|
Membre Expert
![]() Inscription : septembre 2004 Messages : 2 180 ![]() |
Citation:
__________________
|
|
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : avril 2004 Messages : 83 ![]() |
merci
quand je fais un les deux fichiers ont des $ à chaque fin de ligne me montre la difference entre les 2 fichiers, la derniere ligne de celui qui ne marche pas ne contient pas de "\n" mais en faisant un ca marche
|
|
|
00
|
|
|
#7 |
|
Membre éclairé
![]() Inscription : juin 2002 Messages : 376 ![]() |
As-tu essayé la solution de MarcG ('lutilisation de tail et de head) ?
__________________
www.kywyxy.net |
|
|
00
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
|
|
00
|
|
|
#9 | ||||
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
note que sur AIX, le cut fonctionne bien
le "sed" par contre ne fonctionne qu'à partir de la 5.2. C'est un des rares "bugs" de sed qui ait été fixé ce siècle --> AIX5.1 Code :
Code :
|
||||
|
00
|
|
|
#10 | |
|
Nouveau Membre du Club
![]() Inscription : avril 2004 Messages : 83 ![]() |
Citation:
merci pour votre aide |
|
|
|
00
|
|
|
#11 | ||
|
Membre éclairé
![]() Inscription : juin 2002 Messages : 376 ![]() |
moi j'aurai mis le header dans une variable et le footer dans une autre.
Tu as ainsi un code modulable, et la récupération de ces infos, comme tu veux. Pratique éventuellement pour les futurs besoins. Mais là tu es seul juge. Sinon tu peux toujours récupérer le nombre de lignes total (commande wc) puis faire une boucle de 2 à nb de linge -1. Tu applique ton cut à ta boucle boucle . genre: Code :
__________________
www.kywyxy.net |
||
|
|
00
|
|
|
#12 | ||
|
Nouveau Membre du Club
![]() Inscription : avril 2004 Messages : 83 ![]() |
Petite question subsidiaire
Est ce normal ? Code :
"toto\ntiti\c" pour un "toto\ntiti\n" ca marche niquel |
||
|
|
00
|
|
|
#13 |
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
quel est ton os?
|
|
00
|
|
|
#14 |
|
Nouveau Membre du Club
![]() Inscription : avril 2004 Messages : 83 ![]() |
HP-UX
version B11-10 U je crois |
|
|
00
|
|
|
#15 |
|
Membre éclairé
![]() Inscription : juin 2002 Messages : 376 ![]() |
Etrange je viens d'essayer sur un HP_UX B.11.11 U 9000 et j'obtiens :
toto titi
__________________
www.kywyxy.net |
|
|
00
|
|
|
#16 | ||
|
Expert Confirmé Sénior
![]() ![]() ![]() Laurent SchneiderAdministrateur de base de données Inscription : décembre 2005 Messages : 2 927 ![]() |
je tente une astuce :
Code :
|
||
|
00
|
|
|
#17 |
|
Nouveau Membre du Club
![]() Inscription : avril 2004 Messages : 83 ![]() |
en fait on est en version
B.11.11 U 9000/800 |
|
|
00
|
|
|
#18 |
|
Membre émérite
![]() Inscription : mai 2004 Messages : 708 ![]() |
Pourquoi ne pas demander simplement l'affichage des x premières colonnes plutôt que de supprimer les y dernières?
Code :
awk -v FS=";" '{print $1,$2,$3}' fichier.a.traiter
__________________
:q :q! :wq :w :w! :wq! :quit :quit! :help help helpquit quit quithelp :quitplease :quitnow :leave :shit ^X^C ^C ^D ^Z ^Q QUITDAMMIT Jabber: ripat at im.apinc.org |
|
|
00
|
|
|
#19 | |
|
Nouveau Membre du Club
![]() Inscription : avril 2004 Messages : 83 ![]() |
Citation:
Merci pour vos solutions |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com