Bitte um Denkanstoss für Split
Hi,
ich steh gerade total auf dem Schlauch und drehe mich im Kreis.
Folgendes Script liest eine URL und Domain Liste ein:
Jetzt bin ich aber mit 3500 Elementen für den Import limitiert.
Zwischenstep via Txt and dann via loop?
Danke vorab für einen Denkanstoss.
LG
ich steh gerade total auf dem Schlauch und drehe mich im Kreis.
Folgendes Script liest eine URL und Domain Liste ein:
#/bin/bash
import_ip=<IPv4 Adress>
#adv_urls=`cat /test/BL/adv/urls | awk '{print "<member>"$0"</member>"}'`
#adv_ips=`cat /test/BL/adv/domains | awk '{match($0,/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/); ip = substr($0,RSTART,RLENGTH); print ip}' | awk 'NF > 0' | awk '{print "<member>"$0"</member>"}'`
adv_domains=`cat /test/BL/adv/domains | awk '!match($0,/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/)' | awk '{print "*." $0}' | awk '{print "<member>"$0"</member>"}' `
#cat /test/BL/adv/domains | awk '!match($0,/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/)' | awk '{print "*." $0}' | awk '{print "<member>"$0"</member>"}' > /test/adv_domains
curl -k -d key=LUFRPT0xdDNteml5Ky9LSzIzT0d2Rms5M3hUMlRnYkU9RnRMc1hIYmp2TVF0MW51RHB6MDJPZUxyaHExM0JBVnkzRHVneXprL04wVT0= --data-urlencode "xpath=/config/devices/entry[@name='localhost.localdomain']/vsys/entry[@name='vsys1']/profiles/custom-url-category/entry[@name='Test_Custom_URL2']/list" -d 'type=config' -d 'action=set' --data-urlencode "element=$adv_domains" https://"$import_ip"/api/
Jetzt bin ich aber mit 3500 Elementen für den Import limitiert.
Zwischenstep via Txt and dann via loop?
Danke vorab für einen Denkanstoss.
LG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 368387
Url: https://administrator.de/contentid/368387
Ausgedruckt am: 24.11.2024 um 19:11 Uhr
3 Kommentare
Neuester Kommentar
Servus @webstor .
Z.B. so:
Grüße Uwe
Z.B. so:
#!/bin/bash
import_ip=<IPv4 Adress>
# groeße des Batches
setcount=3500
# Function sendet die Daten die ihr als Parameter übergeben werden
function SendData {
curl -k -d key=LUFRPT0xdDNteml5Ky9LSzIzT0d2Rms5M3hUMlRnYkU9RnRMc1hIYmp2TVF0MW51RHB6MDJPZUxyaHExM0JBVnkzRHVneXprL04wVT0= --data-urlencode "xpath=/config/devices/entry[@name='localhost.localdomain']/vsys/entry[@name='vsys1']/profiles/custom-url-category/entry[@name='Test_Custom_URL2']/list" -d 'type=config' -d 'action=set' --data-urlencode "element=$1" https://"$import_ip"/api/
}
# Daten extrahieren
adv_domains=$(cat /test/BL/adv/domains | awk '!match($0,/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/)' | awk '{print "*." $0}' | awk '{print "<member>"$0"</member>"}' )
# Anzahl der Zeilen ermitteln
num=$(echo "$adv_domains" | wc -l)
# Für jeden Batch die Anzahl Zeilen an Funktion übergeben
for x in $(seq 1 $(($num / $setcount))) ;do
SendData "$(echo "$adv_domains" | sed -ne "$(($x * $setcount + 1)),+$(($setcount - 1))p")"
done