Script bash ajouter des infos entre 2 lignes

Fermé
xunil2003 Messages postés 765 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 5 septembre 2024 - Modifié par xunil2003 le 9/05/2012 à 23:25
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 10 mai 2012 à 08:31
Bonjour,

Je voudrai faire un script bash pour mes postes clients afin de modifier automatiquement le fichier /etc/shorewall/rules.
Dans le fichier rules je voudrai ajouter entre la ligne "INCLUDE rules.drakx" et la ligne "#LAST LINE -- DO NOT REMOVE" ceci ;
# Freebox  
ACCEPT net:212.27.38.253 fw udp -  
ACCEPT fw net udp 554 -  
ACCEPT fw net udp 32000:34000 -  
ACCEPT net:192.168.0.2 fw all -


le fichier rules
[root@localhost shorewall]# cat   
#  
# Shorewall version 4 - Rules File  
#  
# For information on the settings in this file, type "man shorewall-rules"  
#  
# The manpage is also online at  
# https://shorewall.org/manpages/shorewall-rules.html  
#  
####################################################################################################################################################################  
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ MARK CONNLIMIT TIME HEADERS  
# PORT PORT(S) DEST LIMIT GROUP  
#SECTION ESTABLISHED  
#SECTION RELATED  
INCLUDE rules.drakx  
#LAST LINE -- DO NOT REMOVE  


Mon script bash
 #!/bin/bash   
cp -v /etc/shorewall/rules /etc/shorewall/rules.bak  
echo "# Freebox" >> /etc/shorewall/rules  
echo "ACCEPT net:212.27.38.253 fw udp -" >> /etc/shorewall/rules  
echo "ACCEPT fw net udp 554 -" >> /etc/shorewall/rules  
echo "ACCEPT fw net udp 32000:34000 -" >> /etc/shorewall/rules  
echo "ACCEPT net:192.168.0.2 fw all -" >> /etc/shorewall/rules  
shorewall restart

Mais comment lui dire d'y ajouter entre la ligne "INCLUDE rules.drakx" et la ligne "#LAST LINE -- DO NOT REMOVE" du fichier /etc/shorewall/rules ?

Merci.

A voir également:

1 réponse

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 415
10 mai 2012 à 08:31
Salut,

Avec "sed" :

$ cat plop 
#  
# Shorewall version 4 - Rules File  
#  
# For information on the settings in this file, type "man shorewall-rules"  
#  
# The manpage is also online at  
# http://www.shorewall.net/manpages/shorewall-rules.html  
#  
#######################################################################################
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ MARK CONNLIMIT TIME HEADERS  
# PORT PORT(S) DEST LIMIT GROUP  
#SECTION ESTABLISHED  
#SECTION RELATED  
INCLUDE rules.drakx  
#LAST LINE -- DO NOT REMOVE

$ sed -i.bak '/INCLUDE rules.drakx/ a\
# Freebox\
ACCEPT net:212.27.38.253 fw udp -\
ACCEPT fw net udp 554 -\
ACCEPT fw net udp 32000:34000 -\
ACCEPT net:192.168.0.2 fw all -
' plop

$ cat plop 
#  
# Shorewall version 4 - Rules File  
#  
# For information on the settings in this file, type "man shorewall-rules"  
#  
# The manpage is also online at  
# http://www.shorewall.net/manpages/shorewall-rules.html  
#  
#######################################################################################
#ACTION SOURCE DEST PROTO DEST SOURCE ORIGINAL RATE USER/ MARK CONNLIMIT TIME HEADERS  
# PORT PORT(S) DEST LIMIT GROUP  
#SECTION ESTABLISHED  
#SECTION RELATED  
INCLUDE rules.drakx  
# Freebox
ACCEPT net:212.27.38.253 fw udp -
ACCEPT fw net udp 554 -
ACCEPT fw net udp 32000:34000 -
ACCEPT net:192.168.0.2 fw all -
#LAST LINE -- DO NOT REMOVE

$ ls
plop  plop.bak

$
0