Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix > AIX
AIX Forum d'entraide sur le système AIX. Avant de poster -> FAQ AIX et cours AIX
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 26/05/2009, 14h18   #1
Membre régulier
 
Inscription : juin 2005
Messages : 117
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 117
Points : 96
Points : 96
Par défaut Ligne tronquée sous unix, pas sous windows

Bonjour,

Voila je traite des fichiers de données crées sous windows dans un environnement AIX. Ces fichiers sont ensuite importés dans Teradata.
Pour cela j'ai créer un script SHELL qui convertit les fichiers du format windows vers unix et qui lance l'import. jusque la pas de problème.

Or, quelques lignes de mon fichier semble être tronquées (4 sur 1 million).
"semble", car lorsque j'ouvre mon fichier avec VI, ces lignes sont bien tronquées.
Or, lorsque je les ouvre avec ultraedit depuis windows par ftp (donc sans transfert unix > windows), j'ai bien l'intégralité de ma ligne.

il doit s'agir d'un caractère qui fout la grouille, mais je n'arrive pas a voir lequel.

quelqu'un a-t-il une idée?
dude666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2009, 22h43   #2
Membre Expert
 
Homme
Ingénieur développement logiciels
Inscription : octobre 2008
Messages : 1 361
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : octobre 2008
Messages : 1 361
Points : 2 002
Points : 2 002
C'est peut-être simplement une limitation de la version de vi que tu utilises. Est-ce que les lignes sont aussi tronquées si tu les visualises avec more ?

Sinon tu peux utiliser la command "od" pour visualiser le fichier en ascii + hexa.
matafan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2009, 09h18   #3
Membre régulier
 
Inscription : juin 2005
Messages : 117
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 117
Points : 96
Points : 96
Bonjour matafan, merci pour votre réponse.

je viens de regarder, cela ne vient pas de vi.

je vais regarder la commande OD, ca risque de faire mal aux yeux

par hasard, vous ne connaitrez un caractère qui peut engendrer un tel problème?

Dernière modification par dude666 ; 27/05/2009 à 09h36.
dude666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/05/2009, 16h21   #4
Membre régulier
 
Inscription : juin 2005
Messages : 117
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 117
Points : 96
Points : 96
Bon, la commane

Code :
wk '	{ if ((length($0))!=688) print $0 }' testUnix | od -t c
me dit effectivement qu'il y a un caractére "\n" en plein milieu des lignes qui ne respectent pas le format.

Par contre, je ne retrouve pas l'information manquante sur la ligne suivante :

exemple : la ligne 460480 est tronquée au niveau du 429 éme caractères;
mais je ne retrouve les caractères 458 à 688 sur la ligne 460481!

voici le resultat de cette commande :
Code :
1
2
3
4
awk ' NR==491640 { print "ligne 491640="length($0)} NR==491641 { print "ligne 491641="length($0)}' testUnix

ligne 491640=429
ligne 491641=688
m'a commande est-elle mauvaise?
dude666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 03h27.


 
 
 
 
Partenaires

Hébergement Web