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 :

chercher un mot dans une ligne


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 90
    Points : 62
    Points
    62
    Par défaut chercher un mot dans une ligne
    Bonjour,

    Je voudrais savoir comment vérifier dans un shell unix la présence d'un mot dans une ligne. J'ai un fichier en entrée que je parcours ligne à ligne, et je voudrais vérifier pour chacun d'elle si un certain mot est présent pour pouvoir éventuellement modifier cette ligne.
    J'ai pour l'instant le code suivant :

    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
     
    #/bin/sh
     
    i=1
    while read ligne
    do
    	if [ "$i" -eq "1" ]; then 
    		echo "ecriture ligne $i"
    		echo $ligne > Sortie.txt
    	else 
    		echo "ecriture ligne $i"
    		echo $ligne >> Sortie.txt
    	fi
    	i=$(($i+1))
    done < Texte.txt
    Je voudrais donc rajouter un test sur la variable $ligne. J'ai essayé avec grep mais apparemment il ne marche que sur un fichier et non une ligne.
    Si quelq'un à une idée sur une éventuelle fonction,

    merci d'avance.

  2. #2
    Membre confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Points : 622
    Points
    622
    Par défaut
    Tu fais echo ta ligne que tu pipes avec grep de ton mot.
    Sinon, utilise sed qui est mieux adapté pour ce genre de problème.

  3. #3
    Expert éminent sénior Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Points : 12 264
    Points
    12 264
    Par défaut
    pour trouver les lignes

    si tu veux les modifier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -e "/mot/s/a_changer/par_ca/" fichier
    change a_changer par par_ca dans toutes les lignes contenant mot

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 90
    Points : 62
    Points
    62
    Par défaut
    merci, ca marche

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 19/06/2015, 09h41
  2. [vba excel] chercher un mot dans une cellule
    Par MrYoYo dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 05/02/2009, 17h38
  3. chercher des occurences dans une ligne
    Par bouzaidi dans le forum C++
    Réponses: 4
    Dernier message: 03/08/2007, 09h07
  4. remplacer un mot dans une ligne
    Par italiasky dans le forum Shell et commandes GNU
    Réponses: 12
    Dernier message: 08/04/2007, 19h19
  5. Chercher des mots dans une ligne
    Par chemouz dans le forum C++
    Réponses: 1
    Dernier message: 17/12/2005, 12h42

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