Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications
Applications Questions sur l'utilisation d'applications, du shell, et des interfaces graphiques (KDE, Gnome, XFCE... )
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 05/10/2007, 11h23   #1
Invité de passage
 
Inscription : octobre 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 2
Points : 0
Points : 0
Par défaut Utilisation de AWK

Bonjour,

Je possede un fichier composer de +/- 10000 records a longueur variables.
Je voudrais fixer ces longueurs à 4000 blocs.
Pourriez vous me donner la synthaxe a suivre avec awk?

Merci d'avance
dim001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2007, 00h23   #2
Membre du Club
 
Avatar de blacksnake
 
Inscription : octobre 2006
Messages : 62
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 62
Points : 44
Points : 44
Voici une méthode en Perl.
Si je comprends bien tu veux découper 10 000 lignes en blocs de 4000 lignes, soit 2 x 4000 + 2000.

http://articles.mongueurs.net/magazi...perles-07.html
blacksnake est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2007, 15h04   #3
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 497
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 497
Points : 9 677
Points : 9 677
Bonjour,

Est-ce que tu souhaites fixer la longueur de chaque ligne à 4000 caractères, ou bien, comme le propose, blacksnake découper ton fichier en blocs de 4000 lignes ?
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/10/2007, 18h40   #4
Membre du Club
 
Avatar de blacksnake
 
Inscription : octobre 2006
Messages : 62
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 62
Points : 44
Points : 44
Je crains être à côté de la plaque en fait ds le post précédent

Tu as donc un fichier de 10 000 lignes dont les lignes ont une longueur variable, tu veux fixer cette longueur à 4000 caractères maxi.

A l'arrache ca donne ceci il manque l'ouverture d'un fichier de lecture et un fichier d'écriture mais ds l'idée c'est ca :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
#!/usr/bin/perl -w
 
use strict;
 
my $read_f = "BOR.unix";
my $write_f = "BOR.out";
 
open( MAIN, "$read_f" ) or die "no file";
open( OUT, ">$write_f" ) or die "no file";
 
    while (<MAIN>) {
        my $str = substr($_, 0, 4000);
        print OUT "$str\n";
}
 
 
close(MAIN);
close(OUT);
Je pense que c'est plus ceci que tu recherches, le programme coupe à 4000 caractères par ligne.
blacksnake 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 +2. Il est actuellement 06h28.


 
 
 
 
Partenaires

Hébergement Web