Salut à tous,
après pas mal de recherches sur le site et les forums, je n'ai toujours pas trouvé réponse à ma question donc je me lance ici.
L'idée est de créer un alias-fonction qui permet de lister les fichiers sauf ceux contenant dans leur nom les arguments fournis à l'alias
Exemple :
j'ai 30 fichiers qui s'appellent toto001.machin à toto030.machin et 10 fichiers aaa01 à aaa10,
donc quand je fais un ls, tous ces fichiers apparaissent et m'encombrent.
Je fais donc un : sl toto aaa (où sl est le nom de l'alias)
et il m'affiche tout sauf ces fichiers.
Pour l'instant, j'en suis là : (je suis par contre pas sûr d'avoir pris le chemin le plus facile!)
function sl() # lister sauf arguments
{
list_excep=`for i in "$@"; do { echo -n "("$i")" ; } ; done`
list_excep=`echo $list_excep | sed "s/)(/)|(/g"`
list_excep=`echo $list_excep | sed "s/^(/"(/g"`
ls | grep -iv '$list_excep'
}
Ne fonctionne pas, le problème venant à mon avis de l'interprétation du '$list_excep' dans le grep.
le paramètre list_excep vaut bien finalement ($1)|($2)|($3)....($n), soit, pour l'exemple (toto)|(aaa)
et donc l'idée c'est de finir par : ls | grep -iv '(toto)|(aaa)'
Si vous avez des idées...
Merci d'avance