Script bash de recherche
MrLuck
Messages postés
46
Statut
Membre
-
zipe31 Messages postés 38797 Statut Contributeur -
zipe31 Messages postés 38797 Statut Contributeur -
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 ;-))