LibreOffice calc: Kurse aus dem Internet.

Gast #5460538
Lesenswert?

@Fehrman

Hier ist ein Beispiel eines Bash-Scripts welches ich mal dazu 
geschrieben hab, IP-Adressen auf einer Website zu archivieren (weil die 
sich ja mal aendern koennten)

Du musst es halt fuer deine Anforderungen anpassen. Das Script benoetigt 
ebenfalls eine zweite Datei um die HTLM Seite in normalen Text 
umzuwandeln.


Das Script:
1
#!/bin/bash
2

3
#Die Datei "generate_ips.xslt" gehoert in den gleichen Ordner wie dieses #Script (Sie dient dazu nur die Laendernamen und IPs auszugeben und setzt #auch einen Zeilenumbruch)
4
#Die Ausgabe-Dateien landen natuerlich auch im Ordner, indem das Script #liegt :)
5

6
URL1="https://support.symantec.com/en_US/article.TECH244698.html" #APAC
7
URL2="https://support.symantec.com/en_US/article.TECH243000.html" #AMERICAS
8
URL3="https://support.symantec.com/en_US/article.TECH244697.html" #EMEA
9
DATE=$(date +"%Y%m%d%H%M")
10
 
11
#Hier werden die URLs von oben bearbeitet: Mit awk werden die Tabellen und #unnoetige Formatierung beseitigt und ein einfaches HTML nur mit den IP #Adressen und Laendernamen gefertigt. 
12
#XSLT macht das HTML zu normalem Text und sed entfernt alle nicht #benoetigten Zeilen.
13

14
curl --silent "$URL1" |\
15
awk 'BEGIN{print "<html><body>"}/<table/{a=1;}/<\/table>/{print;a=0}{if(a)print;}END{print "</body></html>"}' |\
16
xsltproc -html generate_ips.xslt - | sed '/^Egress/{d};s/^ *//' > APAC_$DATE.log
17

18
curl --silent "$URL2" |\
19
awk 'BEGIN{print "<html><body>"}/<table/{a=1;}/<\/table>/{print;a=0}{if(a)print;}END{print "</body></html>"}' |\
20
xsltproc -html generate_ips.xslt - | sed '/^Egress/{d};s/^ *//' > AMERICAS_$DATE.log
21

22
curl --silent "$URL3" |\
23
awk 'BEGIN{print "<html><body>"}/<table/{a=1;}/<\/table>/{print;a=0}{if(a)print;}END{print "</body></html>"}' |\
24
xsltproc -html generate_ips.xslt - | sed '/^Egress/{d};s/^ *//' > EMEA_$DATE.log
25

26
exit 0;


Das Stylesheet:
1
<?xml version="1.0" encoding="utf-8"?>
2
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
3
        <xsl:output method="text"/>
4

5
        <xsl:template match="/">
6
                <xsl:for-each select="/html/body/table/tbody/tr/td[1]/strong|/html/body/table/tbody/tr[2]/td">
7
                        <xsl:value-of select="."/><xsl:text>&#xa;</xsl:text>
8
                </xsl:for-each>
9
        </xsl:template>
10
</xsl:stylesheet>

*Wenn Du dem Stylesheet einen anderen Namen gibst, musst Du das 
natuerlich im Script anpassen :)

Das ist zwar nicht genau das was Du suchst, aber vielleicht hilft es Dir 
ja einen Weg in die Richtung zu finden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren