Script bash de recherche
MrLuck
Messages postés
43
Date d'inscription
Statut
Membre
Dernière intervention
-
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'aimerai ecrire un script bash qui me permet de rechercher un mot clé dans une liste de fichiers d'un repertoire de façon à pouvoir ajouter derriere une directive.
en gros je voudrai pouvoir faire ça :
Je cherche le mot clé COMMON dans une liste de fichier, lorsque je trouve une occurence, j'ouvre le fichier, je recupere le nom de la variable LISTE
Pour ensuite ajouter une phrase où je declare cette LISTE comme ThreadPrivate :
Je suis nul en script et j'aimerai savoir si vous pourriez me donner une piste
j'aimerai ecrire un script bash qui me permet de rechercher un mot clé dans une liste de fichiers d'un repertoire de façon à pouvoir ajouter derriere une directive.
en gros je voudrai pouvoir faire ça :
Je cherche le mot clé COMMON dans une liste de fichier, lorsque je trouve une occurence, j'ouvre le fichier, je recupere le nom de la variable LISTE
COMMON /LISTE/ VARIABLE
Pour ensuite ajouter une phrase où je declare cette LISTE comme ThreadPrivate :
COMMON /LISTE/ VARIABLE C$OMP THREADPRIVATE (LISTE)
Je suis nul en script et j'aimerai savoir si vous pourriez me donner une piste
A voir également:
- Script bash de recherche
- Script vidéo youtube - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Rechercher ou entrer l'adresse mm - recherche google - Guide
- Mas script - Accueil - Windows
- Recherche photo - Guide
3 réponses
Re-
;-))
$ ls fich1.txt fich2.txt foo.sh* $ cat fich1.txt SUBROUTINE FONCTION COMMON /VOITURE/ ROUE, VOLANT, CAPOT ... code du programme ... END $ cat fich2.txt SUBROUTINE FONCTION COMMUN /VOITURE/ ROUE, VOLANT, CAPOT ... code du programme ... END $ cat foo.sh #! /bin/bash #set -xv for fic in *.txt do grep -q "COMMON" "$fic" RETVAL=$? if [ "$RETVAL" = 0 ] then LISTE="$(awk -F '/' '/COMMON/ { print $2 }' $fic)" sed -i.bak '/COMMON/{n;s#.*#\nC$OMP THREADPRIVATE('"$LISTE"')\n#}' "$fic" fi done $ ./foo.sh $ ls fich1.txt fich1.txt.bak fich2.txt foo.sh* $ cat fich1.txt SUBROUTINE FONCTION COMMON /VOITURE/ ROUE, VOLANT, CAPOT C$OMP THREADPRIVATE(VOITURE) ... code du programme ... END $
;-))
Merci pour ta réponse,
non ce n'est pas la peine de chercher dans les sous fichiers car j'ai réuni toutes mes sources au même endroit
J'ai par exemple :
et moi je veux
Est ce clair ?
Merci pour ta réponse !
non ce n'est pas la peine de chercher dans les sous fichiers car j'ai réuni toutes mes sources au même endroit
J'ai par exemple :
SUBROUTINE FONCTION COMMON /VOITURE/ ROUE, VOLANT, CAPOT ... code du programme ... END
et moi je veux
SUBROUTINE FONCTION COMMON /VOITURE/ ROUE, VOLANT, CAPOT C$OMP THREADPRIVATE(VOITURE) ... code du programme ... END
Est ce clair ?
Merci pour ta réponse !
Salut,
rechercher un mot clé dans une liste de fichiers d'un repertoire
Faut-il aussi chercher dans les sous-répertoires ou pas ?
lorsque je trouve une occurence, j'ouvre le fichier, je recupere le nom de la variable LISTE
Elle est où cette variable par rapport au mot-clé ?
Pour ensuite ajouter une phrase où je declare cette LISTE comme ThreadPrivate :
Cette ligne doit être rajoutée où exactement ?
Merci de poster un exemple de fichier AVANT => APRÈS ;-))
rechercher un mot clé dans une liste de fichiers d'un repertoire
Faut-il aussi chercher dans les sous-répertoires ou pas ?
lorsque je trouve une occurence, j'ouvre le fichier, je recupere le nom de la variable LISTE
Elle est où cette variable par rapport au mot-clé ?
Pour ensuite ajouter une phrase où je declare cette LISTE comme ThreadPrivate :
Cette ligne doit être rajoutée où exactement ?
Merci de poster un exemple de fichier AVANT => APRÈS ;-))