Re: [ssfr] Enlever une série de mots d'une liste |
[ Thread Index |
Date Index
| More debianworld.org/shellscript-fr Archives
]
Le 16/11/2011 14:33, Stephane Ascoet a écrit :
> Le mercredi 16 novembre 2011 13:19:25, giggzounet a ecrit :
>> Bonjour à tous,
>>
>> j'ai une liste qui correspond à une liste blanche de subroutines:
>> WHITE_LIST_SUBROUTINES="fortran_main forward3D exscamltc"
>>
>> J'ai une liste contenant toutes les subroutines d'un programme:
>> list_all_subroutines
>>
>> Je voudrais retirer de la liste $list_all_subroutines toutes les
>> subroutines présents dans $WHITE_LIST_SUBROUTINES.
>>
>> Avez vous des idées ?
>>
>> Merci d'avance,
>> Guillaume
> Bonjour, fusionner les deux dans une variable ou un fichier($variablemixee dans
> mon exemple). Faire un "sort" de de $variablemixee, puis un
> list_all_subroutines=`uniq -u $variablemixee`
Me trompe-je ou n'obtiens tu point ainsi la WHITE_LIST_SUBROUTINES et
non la "list_all_subroutines - WHITE_LIST_SUBROUTINES" ?
Ensuite, tout dépend du format des deux "listes" !
Si on admet qu'il s'agit de listes du type list="routine1 routine2
routine3" alors je proposerai bien quelque chose à partir de :
#!/bin/bash
list1="aa ba jrt du jhg wra bof"
list2="ba jhg"
list2=`echo $list2 | sed -e 's/ /|/g'`
set $list1
for r in $*
do
echo $r | egrep -v "$list2"
done
@micalement,
Francois