Bonjour,
J'ai un fichier de conf qui contient des balises de ce genre:
Je dois transformer ce fichier comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <Location /toto/ > ProxyPass http://m.toto.com/ retry=0 ProxyPassReverse http://m.toto.com/ ProxyPassReverseCookiePath / /toto/ ProxyPassReverseCookieDomain .toto.com SetOutputFilter INFLATE;proxy-html;DEFLATE ProxyHTMLLogVerbose On ProxyHTMLExtended On ProxyHTMLURLMap / /toto/ ProxyHTMLURLMap href="m.toto.com/" href="/toto/" ProxyHTMLURLMap http://m.toto.com/ /toto/ ProxyHTMLURLMap m.toto.com </Location> <Location /titi/ > ProxyPass http://m.titi.com/ retry=0 ProxyPassReverse http://m.titi.com/ ProxyPassReverseCookiePath / /titi/ </Location>
C'est à dire jour chaque jonction comme /toto et /titi/, il faut sortir les balises
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 ProxyPass /toto/ http://m.toto.com/ retry=0 ProxyPassReverse /toto/ http://m.toto.com/ <Location /toto/ > ProxyPassReverseCookiePath / /toto/ ProxyPassReverseCookieDomain .toto.com SetOutputFilter INFLATE;proxy-html;DEFLATE ProxyHTMLLogVerbose On ProxyHTMLExtended On ProxyHTMLURLMap / /toto/ ProxyHTMLURLMap href="m.toto.com/" href="/toto/" ProxyHTMLURLMap http://m.toto.com/ /toto/ ProxyHTMLURLMap m.toto.com </Location> ProxyPass /titi/ http://m.titi.com/ retry=0 ProxyPassReverse /titi/ http://m.titi.com/ <Location /titi/ > ProxyPass http://m.titi.com/ retry=0 ProxyPassReverse http://m.titi.com/ ProxyPassReverseCookiePath / /titi/ </Location>
ProxyPass et ProxyPassReverse.
J'ai mis en place un script mais qui permet de un fichier qui contient un fichier qui contient une seule jonction de type toto:
Alors comment je peux modifier mon script pour traiter un fichier d'entrée qui contient plusieurs jonction.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #!/bin/sh TMPFILE1="/tmp/temp1.txt" TMPFILE2="/tmp/temp2.txt" while read curline; do grep -e "ProxyPass " -e "ProxyPassReverse "|sed 's/http/\/toto\/ http/g' > $TMPFILE1 done < input.txt echo "<Location /toto/ >" > $TMPFILE2 while read curline; do grep -v -e "ProxyPass " -e "ProxyPassReverse " >> $TMPFILE2 done < input.txt cat $TMPFILE1 > output.txt cat $TMPFILE2 >> output.txt rm -f $TMPFILE1 $TMPFILE2
Merci d'avance.
Partager