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

Re: [SHELL] remplacement d'une ligne



michael p a écrit, mardi 28 février 2006, à 16:47 :
> Bonjour

bonjour,

> voila j'ai le fichier dhcpd.conf suivant [...]
> j'ai besoin de trouver un script shell qui me permette de remplacer la ligne
> "option bootfile-name "/tftpboot/Package1_40/st2030s.txt";"
> 
> je veux faire son remplacement par
> "option bootfile-name "/tftpboot/$1/st2030s.txt";"
> 
> où $1 est un parametre donné au script.
> 
> je veux pouvoir modifier cette ligne en donnant son numero de ligne si 
> possible. c'est la ligne 24 de mon fichier (plus generalement je souhaite 
> savoir comment faire our modifier la ligne d'un fichier en donnant sa 
> ligne).
> j'ai essayé avec sed mais c'est une commande assez dure a maitriser.

 sed -i.bak -e '24s,/Package1_40/,/'"$1"'/,' /etc/dhcp.conf

Bien  sûr,  il  ne  faut  pas  que $1  contienne  une  virgule,  que  le
/Package1_40/ soit bien le seul ou le premier dans la ligne, etc.

Je n'ai pas trop confiance en un numéro de ligne fixe fiable --- on peut
utiliser /^option bootfile-name[[:space:]]/ à  la place de l'adresse 24,
si ce type de ligne est unique.

> merci d'avance

de rien,
-- 
Jacques L'helgoualc'h



Reply to: