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



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/