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

Linux Discussion :

Script bash de remplacemnt de chaine dans un fichier


Sujet :

Linux

  1. #1
    Membre régulier
    Profil pro
    embedded software engineer
    Inscrit en
    Juin 2002
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : embedded software engineer

    Informations forums :
    Inscription : Juin 2002
    Messages : 181
    Points : 101
    Points
    101
    Par défaut Script bash de remplacemnt de chaine dans un fichier
    Salut,

    Comment je peux faire un remplacement de chaine dans un fichier.

    C'est faire comme grep, mais avec un remplacement par une chaine.

    c'est pour un remplacement de variable dans des fichiers .c d'un projet.

    Merci d'avance,

  2. #2
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Avec Perl, ça se fait rapidement

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  3. #3
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    Avec sed aussi
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  4. #4
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    ou encore tr
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  5. #5
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    Citation Envoyé par Pouic
    ou encore tr
    tr n'est il pas fait pour remplacer des caractères ?
    J'avais l'impression que le remplacement de chaînes de caractères posait problème avec lui. J'ai du louper une option.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  6. #6
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Citation Envoyé par ggnore
    Citation Envoyé par Pouic
    ou encore tr
    tr n'est il pas fait pour remplacer des caractères ?
    J'avais l'impression que le remplacement de chaînes de caractères posait problème avec lui. J'ai du louper une option.
    Oui, mais ça depend de ce qu'il veut faire... Je signalais juste l'utilitaire
    (je pensais en particulier à une option de tr qui n'est malheureusement pas encore implantée... les classes d'équivalence (bien pratique pour virer les accents) )
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  7. #7
    Membre régulier
    Profil pro
    embedded software engineer
    Inscrit en
    Juin 2002
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : embedded software engineer

    Informations forums :
    Inscription : Juin 2002
    Messages : 181
    Points : 101
    Points
    101
    Par défaut
    Je veux remplacer le nom d'une variable en langage C dans un répertoire et ses sous-répertoires.

    Quel est la méthode la mieux adapté..

    et perl est-ce dur?

    merci

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Points : 1 803
    Points
    1 803
    Par défaut
    as tu pas un IDE quelquonque qui peut effectué se type de changement ? (kdevellop, anjuta, ......)
    Marc
    Slackware for ever ......
    BASH - KSH ( http://marcg.developpez.com/ksh/ )

  9. #9
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    Citation Envoyé par trois_1
    Je veux remplacer le nom d'une variable en langage C dans un répertoire et ses sous-répertoires.

    Quel est la méthode la mieux adapté..

    et perl est-ce dur?

    merci
    Personnellement, j'utiliserai find couplé avec sed, mais il y a d'autres solutions...

    Citation Envoyé par marcG
    as tu pas un IDE quelquonque qui peut effectué se type de changement ? (kdevellop, anjuta, ......)
    Il y a des IDE qui font ça récursivement dans les sous répertoires ?!
    On n'arrête pas le progrès.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  10. #10
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 296
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 296
    Points : 1 803
    Points
    1 803
    Par défaut
    oui si l'ensemble correspond à un "projet"
    Marc
    Slackware for ever ......
    BASH - KSH ( http://marcg.developpez.com/ksh/ )

  11. #11
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Perl n'est pas compliqué !
    Il suffit de lire mes cours ou la FAQ pour s'en rendre compte .

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  12. #12
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Tailler à coup de sed et grep dans les fichiers sources, moi, ça me hérisse le poil... Surtout en C ...
    Je pense qu'il faut effectuer un minimum de contrôle...
    Avec un éditeur (comme Emacs), ca prend 5mn, et on ne remplace pas ce qu'on ne voulait pas....
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  13. #13
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Avec un script Perl, ça prend 1s. :p
    Mais je trolle, je trolle !!!

    GLDavid, évangélisateur de Perl
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  14. #14
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    Citation Envoyé par GLDavid
    Avec un script Perl, ça prend 1s. :p
    Mais je trolle, je trolle !!!

    GLDavid, évangélisateur de Perl
    Qu'il est mignon ce petit perlachu... Dommage qu'il ne sache que dire perlachu
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  15. #15
    Membre régulier
    Profil pro
    embedded software engineer
    Inscrit en
    Juin 2002
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : embedded software engineer

    Informations forums :
    Inscription : Juin 2002
    Messages : 181
    Points : 101
    Points
    101
    Par défaut
    Je doit faire ce remplacement sur 1200 variables diférentes,

    et j'utilise Ultraedit sous windows, je peux le faire sur un projet, mais je doit recommencer la manip sur 1200 variable, un peu lourd

    c'est pourquoi, je voulais utiliser un script bash...

    donc, si j'ai bien commpris, la meilleur soluce est find|sed sauf si l'on connait perl..

    Car avec emacs, je ne doit pas pouvoir le faire en boucle sur 1200 variables?

    Mais, sed va-t-il bien reconnaitre les variables en C (mot complet).

    Puis-je avoir un exemple en perl, ou un lien?

    merci.

  16. #16
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 852
    Points : 4 759
    Points
    4 759
    Par défaut
    Pour Perl, je reprend encore une fois les mêmes liens : la FAQ, mes cours et finalement le forum.
    Les exemples d'exploitation de fichiers sous Perl sont monnaie courante chez nous autres.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  17. #17
    Membre éprouvé
    Avatar de Pouic
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    669
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 669
    Points : 977
    Points
    977
    Par défaut
    Citation Envoyé par trois_1
    Je doit faire ce remplacement sur 1200 variables diférentes,
    Tu vas au devant de gros soucis de cohérence... 1200 variables, c'est beaucoup trop... Tu multiplies par 1200 ton temps de deboggage... Surtout si tu te plantes dans ton script...
    Il y a un problème de conception là.... Autant tout réécrire.......
    Software becomes slower faster than hardware becomes faster
    [size=1]
    http://xrenault.developpez.com

  18. #18
    Membre régulier Avatar de cubepiege
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 161
    Points : 78
    Points
    78
    Par défaut
    je crois que tu as raison, 1200 variables, a mon avis il ferait mieux de re-penser son dev, y a une couille quequpart là...
    Je suis pas un developpeur a la base mais normalement si on déclare la variable dans 1 fichier voir deux trois, avec des includes et appels de fonctions on devrait pouvoir recuperer la valeur n'importe ou non ?
    ou me trompoije-je lourdement?

  19. #19
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    Citation Envoyé par cubepiege
    Je suis pas un developpeur a la base mais normalement si on déclare la variable dans 1 fichier voir deux trois, avec des includes et appels de fonctions on devrait pouvoir recuperer la valeur n'importe ou non ?
    ou me trompoije-je lourdement?
    Je ne vois pas trop où tu veux en venir ...
    si tu fais référence aux variables globales : c'est mal.

    D'après moi le problème du nombre de variables peut venir d'une mauvaise gestion de déclarations des données. Par exemple ne pas utiliser de structures ou de tableaux quand cela peut éviter de multiples déclarations redondantes.

    M'enfin 1200 variables, ça ne me choque pas tant que ça.
    Si l'on factorise bien le code et qu'on écrit beaucoup de fonctions, il est normal d'avoir beaucoup de déclarations. ça n'est pas forcément synonyme de sale code.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  20. #20
    Membre régulier
    Profil pro
    embedded software engineer
    Inscrit en
    Juin 2002
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : embedded software engineer

    Informations forums :
    Inscription : Juin 2002
    Messages : 181
    Points : 101
    Points
    101
    Par défaut
    ben oui, le code est mega crade, c'est justement pour cela!!!!!!!!!( sous-traitant)

    je remplace les chaines par des numéro du style:

    sfg_truc_machin devient v0
    sfg_toto_titi devient v1

    pour tout indexer....
    pour ensuite faire référence à 1 index de tableau.

    est-t-il possible de le faire en boucle dans emacs?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/08/2010, 11h45
  2. lancement d'un script bash depuis une page php (dans un terminal)
    Par klampke dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 26/11/2008, 02h41
  3. Réponses: 15
    Dernier message: 26/03/2006, 12h10
  4. enregistrer une liste chainée dans un fichier?
    Par ALF-Teams dans le forum C
    Réponses: 7
    Dernier message: 08/03/2006, 18h42
  5. [Stratégie]Sauvegarde d'une liste chainée dans un fichier
    Par BernardT dans le forum Général Java
    Réponses: 17
    Dernier message: 25/07/2005, 17h04

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