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
Please also mark the comments that contributed to the solution of the article
Content-Key: 368387
Url: https://administrator.de/contentid/368387
Printed on: April 29, 2024 at 01:04 o'clock
3 Comments
Latest comment
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