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 POSIX Discussion :

[AIX] Insertion d'une chaîne de caractères en nième position d'une autre chaîne de caractères [KSH 93]


Sujet :

Shell et commandes POSIX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 81
    Par défaut [AIX] Insertion d'une chaîne de caractères en nième position d'une autre chaîne de caractères
    Bonjour,

    Si par exemple j'ai une chaîne de caractères de 400 caractères, est il possible d'insérer une autre chaîne de caractères au dela du 255ème caractère?

    Merci d'avance pour votre réponse.

  2. #2
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Par défaut
    Oui, c'est possible. Tu ne nous donnes malheureusement pas assez de renseignements pour que l'on comprenne ce que tu ne comprends pas ou l'erreur que tu rencontres.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 81
    Par défaut
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    POSITION=300
    CHAINE=toto
    FILE=/apps/bin/toto.txt
     
    sed "s/\(.\{$(expr ${POSITION})\}\)/\1${CHAINE}/" ${FILE}
    Lorsque la commande est exécutée, j'ai une erreur :
    sed: Function s/\(.\{256\}\)/\1toto/ cannot be parsed.
    L'erreur n'est pas présente tant que je ne mets pas de POSITION avec une valeur inférieure ou égale à 255 caractères.

  4. #4
    Membre émérite Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Par défaut
    Bonjour,

    Je ne vois pas l'interêt de suffit.

    En bash, ça fonctionne


    Sinon, on peut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cut -c-400  ${FILE} | sed "s/$/$CHAINE/"

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 81
    Par défaut
    Merci pour ta réponse, je précise que j'utilise du ksh.

    Concernant la commande cut que tu évoques, elle ne permet pas de conserver la partie de la ligne qui était placée après le 400ème caractère. Hors il faut que je garde cette partie.

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 660
    Par défaut
    Bonjour,

    Citation Envoyé par Cj_Dal
    j'utilise du ksh
    lequel ? 88, ou 93 ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  7. #7
    Membre émérite Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Par défaut
    Citation Envoyé par Cj_Dal Voir le message
    Merci pour ta réponse, je précise que j'utilise du ksh.

    Concernant la commande cut que tu évoques, elle ne permet pas de conserver la partie de la ligne qui était placée après le 400ème caractère. Hors il faut que je garde cette partie.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    resul=`cut -c-400  ${FILE} | sed "s/$/$CHAINE/"`  `cut -c401-  ${FILE}`
    Bien sûr, à adapter si plusieurs lignes dans le fichier.

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

Discussions similaires

  1. Suppression d'une bordure en fonction de la position d'une div position
    Par student_php dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 17/11/2010, 13h58
  2. Réponses: 16
    Dernier message: 10/07/2008, 15h55
  3. Lire les caractères un par un d'une chaîne unicode
    Par vanbesienv dans le forum Général Python
    Réponses: 4
    Dernier message: 09/03/2008, 14h09
  4. [RegEx] Supprimer caractères invisibles au sein d'une chaîne
    Par webrider dans le forum Langage
    Réponses: 9
    Dernier message: 19/04/2007, 11h07
  5. Réponses: 3
    Dernier message: 09/05/2002, 01h39

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