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: