IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Unix Discussion :

Unix restriction sur sed


Sujet :

Unix

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 40
    Points : 43
    Points
    43
    Par défaut Unix restriction sur sed
    Bonjour,
    Je traite un fichier de type csv (séparateur ; ) dans lequel je souhaite éliminer des caractères blanc (plusieurs milliers)
    pour ce faire j'utilise la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sed -e 's/; */;/g' fic_origin > fic_dest
    Pour remplacer (un ; et plusieurs blancs) par (un point virgule unique).
    Cela fonctionne bien sur les machines de dev et de test mais, vous l'avez deviné , pas sur la machine de prod.

    Est-ce que quelqu'un connaitrait une restriction à l'utilisation de sed (taille des lignes par ex) ?

  2. #2
    Membre confirmé Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 570
    Points
    570
    Par défaut
    Tout dépend de la version de sed. Tu peux avoir intérêt à (re-)compiler sed.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    6.6. Known limitations among sed versions
     
       Limits on distributed versions, although source code for most
       versions of free sed allows for modification and recompilation.
       The term "no limit" when used below means there is no "fixed"
       limit. Limits are actually determined by one's hardware, memory,
       operating system, and which C library is used to compile sed.
     
    6.6.1. Maximum line length
     
          GNU sed 3.02: no limit
          GNU sed 2.05: no limit
          sedmod 1.0:   4096 bytes
          HHsed:        4000 bytes
     
    6.6.2. Maximum size for all buffers (pattern space + hold space)
     
          GNU sed 3.02: no limit
          GNU sed 2.05: no limit
          sedmod 1.0:   4096 bytes
          HHsed:        4000 bytes
     
    6.6.3. Maximum number of files that can be read with read command
     
          GNU sed 3.02: no limit
          GNU sed 2.05: total no. of r and w commands may not exceed 32
          sedmod 1.0:   total no. of r and w commands may not exceed 20
     
    6.6.4. Maximum number of files that can be written with 'w' command
     
          GNU sed 3.02: no limit (but typical Unix is 253)
          GNU sed 2.05: total no. of r and w commands may not exceed 32
          sedmod 1.0:   10
          HHsed:        10
     
    6.6.5. Limits on length of label names
     
          BSD sed:      8 characters
          GNU sed 3.02: no limit
          GNU sed 2.05: no limit
          HHsed:        no limit
     
    6.6.6. Limits on length of write-file names
     
          BSD sed:      40 characters
          GNU sed 3.02: no limit
          GNU sed 2.05: no limit
          HHsed:        no limit
     
    6.6.7. Limits on branch/jump commands
     
          HHsed:        50
     
       As a practical consequence, this means that HHsed will not read
       more than 50 lines into the pattern space via an N command, even if
       the pattern space is only a few hundred bytes in size. HHsed exits
       with an error message, "infinite branch loop at line {nn}".
    Source : http://www.faqs.org/faqs/editor-faq/sed/

  3. #3
    Membre confirmé Avatar de iblis
    Inscrit en
    Janvier 2007
    Messages
    510
    Détails du profil
    Informations personnelles :
    Âge : 57

    Informations forums :
    Inscription : Janvier 2007
    Messages : 510
    Points : 570
    Points
    570
    Par défaut
    Pour contourner le problème (si tu as perl d'installé), tente un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -lpe 's/; */;/g' fic_origin

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 40
    Points : 43
    Points
    43
    Par défaut Ca marche
    La solution Perl résoud mon problème. Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 13/03/2007, 18h24
  2. est ce qu'il y a des restriction sur la taille ?
    Par arakiri dans le forum Applets
    Réponses: 2
    Dernier message: 10/01/2007, 09h55
  3. [UNIX][Optimisation] sur création de Vue
    Par dyvim dans le forum Oracle
    Réponses: 16
    Dernier message: 30/01/2006, 10h48
  4. ajouter une restriction sur une requete
    Par linou dans le forum Oracle
    Réponses: 2
    Dernier message: 19/10/2005, 14h20
  5. restriction sur le nombre d'enregistrements !
    Par anas123 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 22/07/2005, 19h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo