|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : août 2005 Messages : 82 ![]() |
Bonjour à tous,
Au boulot nous faisons pas mal de transfert de fichier entre MVS et UNIX. les fichiers MVS sont de longueur FIXE. Prenons l'exemple d'un fichier d'une longueur de 250 (caractères) - Avec quel commande UNIX puis je afficher sa longueur ? j'ai essayé avec un head -1 fichier | wc -m mais ça ne m'affiche que la longueur de la ligne choisi et pas la longueur du fichier - Est il possible d'afficher les lignes d'un fichier sur toute leur longueur en passant par vi et telnet (pour éviter le retour à la ligne automatique) ? il faut peut etre configurer HUMMINBIRD (mon terminal) - Comment avec vi créer un fichier d'une longueur fixe ? merci |
|
|
00
|
|
|
#2 |
![]() Inscription : mars 2004 Messages : 1 298 ![]() |
deja je ne pene pas que tu evoque un fichier de longueur fixe, mais d'enregistrement (ligne) a longuer fixe .
la taille d'un fcher tu l'obtiens par la commande ls -s ou la commande stat la longuer d'une ligne, tout depend du type de fichier : si "binaire" (data), pas moyen de le savoir à la vu du fichier si "ascii" (txt) tout depend du caractere de fn de ligne. Sous MVS la structure d'un fichier est indiquée a l'OS lors de sa creation, sous *nix un fichier n'est jamais qu'une succession d'octet sans aucune signification pour l'OS. C'est du domaine de l'applicaton que de gerer la structure. |
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : août 2005 Messages : 82 ![]() |
les fichiers sont de l'ASCII
je suis en KSH.... la commande stat n'existe pas et ls -s me ramène la taille du fichier, pas la longueur du fichier en octets. mais je comprend mieux maintenant le pourquoi du comment. ce qui délimite les lignes dans mon fichier c'est le retour chariot. Pour trouver la longueur de mon fichier (qui vient de MVS) il faut donc que je trouve la ligne la plus longue de mon fichier terminée par un retour chariot.. y a - t -il une commande simple pour ça ? ou faut il lire tout le fichier ligne par ligne pour les comparer ? |
|
|
00
|
|
|
#4 |
![]() Inscription : mars 2004 Messages : 1 298 ![]() |
a priorie il te faut la determiner toi même, il serait plus simple de creer un fichier de description depuis Mvvs et de l'envoyer en meme temp que le fichier aSCII.
|
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : août 2005 Messages : 82 ![]() |
merci de ta réponse rapide
bonne soirée |
|
|
00
|
|
|
#6 | ||||
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 450 ![]() |
Un petit script pour connaître la longueur de la plus grande ligne :
Code :
Code :
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur ![]() |
||||
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : août 2005 Messages : 82 ![]() |
super merci pour le script je gade au chaud
heu ça sert à quoi les double [[ ]] un simple [ ] ne suffirait pas ? |
|
|
00
|
|
|
#8 | |
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 450 ![]() |
Citation:
Les simples, c'est l'ancienne syntaxe sh / bsh reprise par bash... Cela permet une certaine cohérence d'écriture avec les doubles (( )) des expressions calculées.
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur ![]() |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com