[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: