Re: Script : suppression de ligne dans un fichier
Gilles MISSONNIER a écrit, lundi 23 octobre 2006, à 16:05 :
> le concours est ouvert :
> ma soluce :
>
> sed -i `grep -nw la_chaine le_fichier|cut -d: -f1`d le_fichier
Un peu tordu :) --- et l'option -w de grep ne traite pas globalement un
login avec tiret :
$ echo Debian-exim | grep -w exim
Debian-exim
> s'assurer que la_chaine a supprimer est unique (mot complet):
> supprimer "martin" mais pas dans "martinet"
> et bien coller "`d"
Oui, mais il faudrait aussi s'assurer, grâce au délimiteur, que la
chaîne correspond au bon champ(*) ; par exemple, comme dans le fichier
/etc/passwd :
awk -F: '$1!="martin"' <ancien >nouveau
ou encore :
sed -i.old -e '/^martin:/d' le_fichier
(* « bin » est un login valide ;)
--
Jacques L'helgoualc'h
Reply to: