Stránka 1 z 1
Parsovani v bash
Napsal: 14 Nov 2012 14:59
od Rudolf Dvořák
Pekny den muze mi nekdo prosim poradit jak mam vyparsovat ip adresu ktera se vzdy nachazi za "address=" v nasledujicim kodu?
diky ruda
Kód: Vybrat vše
#!/bin/bash
ssh_out=$(ssh -i /root/keys/ssl/id_dsa admin@1.1.1.1 /ip firewall address-list print terse where list=black_list)
IFS="\n"
for line in $ssh_out
do
echo $line
done
Re: Parsovani v bash
Napsal: 14 Nov 2012 15:10
od ocior
Bylo by fajn sem dat ukazku toho vystupu. Co cut?
Re: Parsovani v bash
Napsal: 14 Nov 2012 15:14
od Rudolf Dvořák
Kód: Vybrat vše
0 list=black_list address=109.110.227.250
1 list=black_list address=208.77.208.91
3 list=black_list address=212.195.253.156
4 list=black_list address=212.45.25.230
5 list=black_list address=183.62.48.57
6 list=black_list address=83.14.83.110
7 list=black_list address=210.16.202.1
8 list=black_list address=184.98.103.196
9 list=black_list address=192.168.168.1
10 list=black_list address=61.78.164.250
11 list=black_list address=211.195.225.145
12 list=black_list address=125.88.98.23
13 list=black_list address=111.74.82.33
14 list=black_list address=67.190.11.61
15 list=black_list address=189.26.255.11
16 list=black_list address=124.188.70.244
17 list=black_list address=125.88.128.5
18 list=black_list address=189.134.115.227
19 list=black_list address=63.143.57.27
20 list=black_list address=175.107.48.114
21 list=black_list address=176.9.225.170
22 list=black_list address=192.168.168.2
23 list=black_list address=218.50.2.114
24 list=black_list address=125.211.196.248
25 list=black_list address=182.243.164.158
26 list=black_list address=221.13.104.162
27 list=black_list address=177.183.46.22
28 list=black_list address=213.186.118.211
29 list=black_list address=117.21.208.26
30 list=black_list address=114.80.108.196
31 list=black_list address=31.214.43.117
32 list=black_list address=218.92.75.130
Re: Parsovani v bash
Napsal: 14 Nov 2012 15:17
od ocior
Re: Parsovani v bash
Napsal: 14 Nov 2012 15:54
od Rudolf Dvořák
Diky to by slo, muzu jeste poprosit o info jak dokazat aby to v tom cyklu pridavalo query a potom je provedlo, ted mi to totiz do $ip hodi vsechny ip najednou, diky moc
Kód: Vybrat vše
#!/bin/bash
ssh_out=$(ssh -i /root/keys/aaa/id_dsa admin@aaa /ip firewall address-list print terse where list=black_list)
q=""
IFS="\n"
for line in $ssh_out
do
ip=$(echo $line | cut -d = -f 3)
echo $ip line
q="$q INSERT INTO general_blacklist (ip) VALUES (\"$ip\") ON DUPLICATE KEY UPDATE ip=ip;"
done
mysql --host=10.1.16.12 --user=ruda --password=123 ip_lists <<< $q
Re: Parsovani v bash
Napsal: 14 Nov 2012 19:52
od LaCosta
Mozno prasarna

ale tak ako priklad postaci ...
Kód: Vybrat vše
#!/bin/bash
ssh -i /root/keys/aaa/id_dsa admin@aaa /ip firewall address-list print terse where list=black_list > /tmp/sql_import
sed -i -e 's/^.*\ address=/INSERT INTO general_blacklist (ip) VALUES=/g' -e 's/$/ ON DUPLICATE KEY UPDATE ip=ip;/g' /tmp/sql_import
mysql --host=10.1.16.12 --user=ruda --password=123 ip_lists < /tmp/sql_import
Nemam to ako vyskusat, takze v pripade potreby to treba upravit (opravit) ...