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

Shell et commandes GNU Discussion :

Tronquer des lignes à une longeur fixe.


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut Tronquer des lignes à une longeur fixe.
    Bonjour.

    Je travaille sur l'intégration de sozi (http://sozi.baierouge.fr/wiki/en:welcome) dans dia (http://live.gnome.org/Dia).

    Sozi est un player qui consiste en du code javascript et une feuille de style css ajouté à un document svg. Pour l'intégration au document svg, l'ensemble des scripts java sont "minifiés" (désolé pour ce terme non traduis) en un seul condensé.

    Pour l'intégration dans dia, j'utilise une constante contenant le script brut. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const char * sozi_js = "ceci est du code java condense qui est tres tres long (plus de 2000 caracteres)."
    Certains compilateurs ne supportent pas de si longues chaînes. Il faudrait que je découpe donc ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    const char * sozi_js = 
    "ceci est du cod"
    "e java condense"
    " qui est tres t"
    "res long (plus "
    "de 2000 caracte"
    "res)."
    Pour ce faire, j'ai essayé l'option "--line-break" du minifier (yuicompressor), les commandes pr et fmt. Mais je dois encore faire une passe avec sed pour rajouter les guillemets. En outre, ces outils ne coupent qu'au niveau des espaces et c'est pas très joli pour les yeux.

    Je vous demande donc si juste avec un seul outil (sed ou awk ou autre), je peux arriver à décomposer le contenu d'un fichier en lignes de longueur fixe, en insérant des guillemets au début et à la fin.

    Merci de votre aide.

    Paul.

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Avec "sed" mais je ne sais pas si ça répondra exactement à tes attentes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    echo "$A"
    const char * sozi_js = "ceci est du code java condense qui est tres tres long (plus de 2000 caracteres)."
    
    echo "$A" | sed 's/"//g;s/= /&\n/'| sed '/= /!{s/\(.\{,15\}\)/"&"\n/g}'
    const char * sozi_js = 
    "ceci est du cod"
    "e java condense"
    " qui est tres t"
    "res long (plus "
    "de 2000 caracte"
    "res)."

  3. #3
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    C'est le de sed qui me manquait.

    Merci beaucoup.

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    De rien

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

Discussions similaires

  1. [AC-2003] Ajouter des lignes à une tables depuis Excel
    Par DonKnacki dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 17/12/2010, 16h04
  2. Céer des lignes à une certaine distance
    Par harry_kalagan dans le forum C++
    Réponses: 0
    Dernier message: 07/12/2010, 15h04
  3. [AC-2007] Ajouter des lignes à une liste basée sur une requête
    Par Cinesra dans le forum VBA Access
    Réponses: 2
    Dernier message: 01/12/2010, 13h19
  4. [WD14] Thread qui ajoute des lignes à une table
    Par rndhnqz dans le forum WinDev
    Réponses: 11
    Dernier message: 09/02/2010, 12h48
  5. Coloration des lignes une sur deux
    Par ESVBA dans le forum Word
    Réponses: 2
    Dernier message: 06/07/2007, 14h39

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