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 :

Changement d'un string dans un fichier


Sujet :

Shell et commandes GNU

  1. #1
    Membre régulier
    Homme Profil pro
    .
    Inscrit en
    Octobre 2014
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : .
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 174
    Points : 90
    Points
    90
    Par défaut Changement d'un string dans un fichier
    Bonjour,

    je cherche le moyen de faire un bash qui vas modifier un string : using gcc
    par using gcc : arm : /home/user/xxx/bin/arm-none-linux-gnueabi-g++

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    	str1="using gcc"
    	str2="using gcc : arm : /home/user/xxx/bin/arm-none-linux-gnueabi-g++"
    	sed -i 's/$str1/$str2/' project-config.jam
    J'ai essayer la commande ci-dessus mais ça ne marche pas.
    Une idée?

    Merci à vous

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 789
    Points
    30 789
    Par défaut
    Citation Envoyé par Hyssgrif Voir le message
    J'ai essayer la commande ci-dessus mais ça ne marche pas.
    Un peu court comme description du problème rencontré.
    Tu obtiens quoi : un message d'erreur ? un fichier mal mis à jour ? pas de mise à jour ?

    Au vu de ta ligne de programme, il y a des chances que ce soit à cause de la présence de / dans la chaine de remplacement.
    Utilise un autre caractère de séparation pour les arguments de la commande s dans sed.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours 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
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Membre régulier
    Homme Profil pro
    .
    Inscrit en
    Octobre 2014
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : .
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 174
    Points : 90
    Points
    90
    Par défaut
    Justement je n'obtiens aucun retour.
    Le scripte s'effectue sans rien modifier

  4. #4
    Membre régulier
    Homme Profil pro
    .
    Inscrit en
    Octobre 2014
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : .
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 174
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    Utilise un autre caractère de séparation pour les arguments de la commande s dans sed.
    Comment puis-je faire cela?

  5. #5
    Expert éminent

    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
    Points : 6 276
    Points
    6 276
    Par défaut
    Salut,

    En plus du problème de séparateur soulevé par al1_24, il faut y ajouter le problème des variables non interprétées entre de simples quotes
    Il te faut entourer l'expression avec des quotes doubles.
    $ man woman
    Il n'y a pas de page de manuel pour woman.

  6. #6
    Membre régulier
    Homme Profil pro
    .
    Inscrit en
    Octobre 2014
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : .
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2014
    Messages : 174
    Points : 90
    Points
    90
    Par défaut
    Ha super, merci à vous

    J'ai compris le truc, maintenant ça marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    	sed -i 's|using gcc|using gcc : arm : /home/user/xxx/bin/arm-none-linux-gnueabi-g++|' project-config.jam

  7. #7
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Bonjour

    Bienvenue chez Fernand Reynaud:
    - Je voudrais un café avec des croissants.
    - Oui, mais nous n'avons plus de croissants.
    - Ah! Alors donnez-moi du thé avec des croissants.
    - Euh ... ce qu'il y a, c'est que nous n'avons plus de croissants.
    - Oh, pardon! Je n'avais pas compris. Alors donnez moi un chocolat chaud avec des croissants...
    L'internaute dit que son problème est résolu mais les simples quotes sont toujours là .
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  8. #8
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 789
    Points
    30 789
    Par défaut
    Citation Envoyé par zipe31 Voir le message
    En plus du problème de séparateur soulevé par al1_24, il faut y ajouter le problème des variables non interprétées entre de simples quotes
    Je ne l'avais pas vue celle-là
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours 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
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  9. #9
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Citation Envoyé par Hyssgrif Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	str1="using gcc"
    	str2="using gcc : arm : /home/user/xxx/bin/arm-none-linux-gnueabi-g++"
    	sed -i 's/$str1/$str2/' project-config.jam
    Pour les suivants qui liraient ce post, je donne une version complète (qui devrait marcher), avec un autre caractère séparateur et des guillemets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	str1="using gcc"
    	str2="using gcc : arm : /home/user/xxx/bin/arm-none-linux-gnueabi-g++"
    	sed -i "s|${str1}|${str2}|" project-config.jam

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

Discussions similaires

  1. Récupérer une string dans un fichier
    Par lynchmaniac dans le forum ANT
    Réponses: 3
    Dernier message: 27/12/2006, 16h22
  2. Réponses: 7
    Dernier message: 01/09/2006, 14h19
  3. Ecriture d'un string dans un fichier
    Par spoown dans le forum C
    Réponses: 16
    Dernier message: 13/07/2006, 09h29
  4. remplacer les String dans un fichier
    Par makohsarah dans le forum Langage
    Réponses: 3
    Dernier message: 29/05/2006, 13h34
  5. Comment enregistrer une string dans un fichier
    Par Dnx dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 23/09/2005, 14h52

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