Text aus Webseite mittels awk,sed etc. Tabelle umwandeln
Text aus Webseite mittels awk,sed etc. Tabelle umwandeln
hallo leute.
Da ich hin und wieder Looto oder Eurjackpot speiel, würde ich mir gerne Lotto bzw. Eurojackpotzahlen mittels awk oder sed in eine Datei schreiben als Tabelle, die ich bspw. unter Libreoffice bearbeiten kann.
Aber in erster Linie wäre es wichtig, dass ich die Daten auf der Webseite, so wie sie dort vorgegeben sind, in eine neue Datei schreibe(awk,sed)
Ich habe es mit copy&paste versucht, geht schief, die Dartellung alles in einer Spalte!
Damit man in etwa weiss, wovon ich Rede, hier mal der Link:
http://www.lottozahlenonline.de/statist ... archiv.php
Da möchte ich alles von Datum bis SZ haben und in eine Datei schreiben. Mit Libreoffice habe ich es nicht geschaft
Da danke ich, es müsste mit awk oder sed machbar sein.
Wie mache ich es?
Gruß thorax
Da ich hin und wieder Looto oder Eurjackpot speiel, würde ich mir gerne Lotto bzw. Eurojackpotzahlen mittels awk oder sed in eine Datei schreiben als Tabelle, die ich bspw. unter Libreoffice bearbeiten kann.
Aber in erster Linie wäre es wichtig, dass ich die Daten auf der Webseite, so wie sie dort vorgegeben sind, in eine neue Datei schreibe(awk,sed)
Ich habe es mit copy&paste versucht, geht schief, die Dartellung alles in einer Spalte!
Damit man in etwa weiss, wovon ich Rede, hier mal der Link:
http://www.lottozahlenonline.de/statist ... archiv.php
Da möchte ich alles von Datum bis SZ haben und in eine Datei schreiben. Mit Libreoffice habe ich es nicht geschaft
Da danke ich, es müsste mit awk oder sed machbar sein.
Wie mache ich es?
Gruß thorax
/ASUS-F751S/ Intel Pentium N3710 @ 2.560Ghz
VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 35)
Linux/5.19.13-arch1-1 x86_64 GNU/Linux
WindowManager: BSPWM
VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 35)
Linux/5.19.13-arch1-1 x86_64 GNU/Linux
WindowManager: BSPWM
Re: Text aus Webseite mittels awk,sed etc. Tabelle umwandel
Das Knifflige daran wird sein, dass es keine HTML-Tabellen sind, sondern eine Aneinanderreihung von DIV-Containern.
Aber mit den CSS-Klassen als Anhaltspunkt lässt sich das bestimmt auseinander bröseln.
Wäre doch mal eine Aufgabe für den Scripting-Contest
Aber mit den CSS-Klassen als Anhaltspunkt lässt sich das bestimmt auseinander bröseln.
Wäre doch mal eine Aufgabe für den Scripting-Contest
Re: Text aus Webseite mittels awk,sed etc. Tabelle umwandel
Seite als Text beschaffen:
Danach den entsprechenden Teil ausschneiden, Zeilenumbrüche durch Tabs und dann jeden 9. Tab durch einen Zeilenumbruch ersetzen.
Code: Alles auswählen
w3m -dump http://www.lottozahlenonline.de/statistik/lotto-am-samstag/lottozahlen-archiv.php > out.txt
Re: Text aus Webseite mittels awk,sed etc. Tabelle umwandel
Das wäre ja nicht anders, als würde ich das Ganze mit copy&paste in eine Textdatei reinkopieren, und Zeile für Zeile es abarbeiten müsste, zu viel Aufwand!Es müsste doch einfacher gehen, in dem man ein Scrpit(awk, perl, shell) flickt und das Ganze in einem Zug durchrutschen lässt
/ASUS-F751S/ Intel Pentium N3710 @ 2.560Ghz
VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 35)
Linux/5.19.13-arch1-1 x86_64 GNU/Linux
WindowManager: BSPWM
VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 35)
Linux/5.19.13-arch1-1 x86_64 GNU/Linux
WindowManager: BSPWM
Re: Text aus Webseite mittels awk,sed etc. Tabelle umwandel
Händisch wäre das glaube ich noch ein bisschen mehr Aufwand!?tHoRax hat geschrieben:Das wäre ja nicht anders, als würde ich das Ganze mit copy&paste in eine Textdatei reinkopieren, und Zeile für Zeile es abarbeiten müsste, zu viel Aufwand!
Code: Alles auswählen
#!/bin/bash
URL="http://www.lottozahlenonline.de/statistik/lotto-am-samstag/lottozahlen-archiv.php?j="
OUT="/tmp/out.txt"
for i in {1955..2016};do
w3m -dump ${URL}${i} > "$OUT"
if [ -r "$OUT" ]; then
if [ "$i" -gt 1991 ]; then
sed '1,/^SZ$/d;/^Meist/,$ d' "$OUT" | tr "\n" "\t" | sed -r 's/(([^\t]*\t){8}[^\t]*)\t/\1X/g' | tr "X" "\n"
else
sed '1,/^SZ$/d;/^Meist/,$ d' "$OUT" | tr "\n" "\t" | sed -r 's/(([^\t]*\t){7}[^\t]*)\t/\1X/g' | tr "X" "\n"
fi
echo
fi
rm "$OUT"
done
exit 0
Code: Alles auswählen
#!/bin/bash
URL="http://www.lottozahlenonline.de/statistik/lotto-am-samstag/lottozahlen-archiv.php?j="
OUT="/tmp/out.txt"
for i in {1955..2016};do
w3m -dump ${URL}${i} | sed '1,/^SZ$/d;/^Meist/,$ d' | tr "\n" "\t" | sed -r 's/\t*[^\t]+\t(..\...\.....)/\n\1/g' >> "$OUT"
done
sed '1d;$s/$/\n/' "$OUT"
rm "$OUT"
exit 0
Zuletzt geändert von tobo am 07.08.2016 18:43:08, insgesamt 1-mal geändert.
Re: Text aus Webseite mittels awk,sed etc. Tabelle umwandel
Naja, viel andere Möglichkeiten gibt es da wohl nicht...tHoRax hat geschrieben:Das wäre ja nicht anders, als würde ich das Ganze mit copy&paste in eine Textdatei reinkopieren
Ein weiterer Ansatz wäre zB nur diese Tabelle zu kopieren, firefox kann das:
Rechtsklick auf die Tabellenüberschrift „Archiv mit Ziehungen aus dem Jahr 2016” ->Element untersuchen
Es wird dann der h3-tag der Tabellenüberschrift angezeigt und markiert,
eine Zeile darüber befindet sich der div-tag der gesamten Tabelle mit: „<div id="gewinnzahlen">”
mit der Maus draufklicken und dann oben im Menü ->Bearbeiten->Kopieren wählen,
starte deinen Lieblingseditor, füge das dort ein und speichere das als zB „Lotto.txt”.
Dann ist man eigentlich nur noch 5 sed -Befehle vom Ergebnis entfernt:
Code: Alles auswählen
sed -i 's/$/\n/' Lotto.txt # Zeilenumbruch am Ende hinzufügen, muss vielleicht garnicht sein
sed -i 's#\(</div>\)\(<div\)#\1\n\2#g' Lotto.txt # Zeilenumbrüche zwischen div-tags hinzufügen
sed -i '1,4d' Lotto.txt # die ersten 4 ‒ hier störenden ‒ Zeilen löschen
sed -i 's/<[^>]*>//g' Lotto.txt # sämtliche html tags entfernen
sed -i 'N;N;N;N;N;N;N;N;s/\n/ /g' Lotto.txt # jeweils 9 aufeinander folgende Zeilen mit Leerzeichen getrennt zu einer einzigen machen
Frage an die sed Experten: kann man eigentlich die vielen „N” im letzten Befehl durch ein N mit einer Anzahl ersetzen?
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!
Macht ohne Haftung funktioniert nicht!
Re: Text aus Webseite mittels awk,sed etc. Tabelle umwandel
@all
Danke für Eure Unterstützung
@detix
Mensch detix, diesen Script soll mir einer Mal erklären , aber es wirkt
Ich habe die Zahlen des Jahres 2016 in aufsteigender Reihenfolge.
Danke für Eure Unterstützung
@detix
Mensch detix, diesen Script soll mir einer Mal erklären , aber es wirkt
Ich habe die Zahlen des Jahres 2016 in aufsteigender Reihenfolge.
/ASUS-F751S/ Intel Pentium N3710 @ 2.560Ghz
VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 35)
Linux/5.19.13-arch1-1 x86_64 GNU/Linux
WindowManager: BSPWM
VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 35)
Linux/5.19.13-arch1-1 x86_64 GNU/Linux
WindowManager: BSPWM
Re: Text aus Webseite mittels awk,sed etc. Tabelle umwandel
... mehr Kommentare als Code, und doch nicht verstaendlich!tHoRax hat geschrieben: Mensch detix, diesen Script soll mir einer Mal erklären , aber es wirkt
*scnr*
(Aber ich meine das durchaus ernst und zudem wertfrei: Ich will nicht so verstanden werden, dass es dadurch haette verstaendlich sein muessen. Das ist eher der Punkt an dem man sich fragen sollte, was hier eigentlich passiert, bzw. was das bedeutet.)
Use ed once in a while!
Re: Text aus Webseite mittels awk,sed etc. Tabelle umwandel
Es sieht vor allem komplizierter aus als es ist. Handelt sich vor allem um Chomsky-Hierarchie Typ-3-Grammatik. Oder einfach ausgedrückt: reguläre Ausdrücke
Re: Text aus Webseite mittels awk,sed etc. Tabelle umwandel
Code: Alles auswählen
#!/bin/sh
#wget -v -N http://www.lottozahlenonline.de/statistik/lotto-am-samstag/lottozahlen-archiv.php[?j=XXXX]
cat lottozahlen-archiv.php | sed '
s@\(<div class="zahlensuche_nr"\)@\n\1@g
' | egrep -o "^<div class=\"zahlensuche_nr.*<div class=\"zahlensuche_zz\">[0-9]*</div>" > ausgabe.zs.html
ZBsp. comma-separated
Code: Alles auswählen
cat ausgabe.zs.html | sed -r '
s@<[^>]*>@___@g
s@^_*@@
s@_*$@@
s@_{1,}@,@g
' > ausgabe.zs.csv
und dann Komma eingetragen.
Mit xmlstarlet?
Komme damit nicht zurecht, bin aber auch kein Webentwickler.
Zuletzt geändert von rendegast am 08.08.2016 11:16:02, insgesamt 1-mal geändert.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: Text aus Webseite mittels awk,sed etc. Tabelle umwandel
N;N;N;N;Nicht dass ich wuesste.detix hat geschrieben: Frage an die sed Experten: kann man eigentlich die vielen „N” im letzten Befehl durch ein N mit einer Anzahl ersetzen?
Oh mann, das erinnert mich schon wieder an: viewtopic.php?f=15&t=158291&p=1067009#p1067009 ...
Use ed once in a while!
Re: Text aus Webseite mittels awk,sed etc. Tabelle umwandel
Um mal noch was Konstruktives beizutragen, hier ein Ansatz (ziemlich aehnlich wie rendegast angesetzt hat):
Und schon hast du 'ne CSV, die du importieren kannst. Der Rest ist Aufhuebschen (letzte Spalte weg, Statistik am Ende weg, ...).
Code: Alles auswählen
w3m -dump_source http://www.lottozahlenonline.de/statistik/lotto-am-samstag/lottozahlen-archiv.php |
sed -n '/<div id="gewinnzahlen">/{s,<div class="zahlensuche_datum">,\n,g; s,<[^>]*>, ,g; s, *,;,g; p}'
Use ed once in a while!
Re: Text aus Webseite mittels awk,sed etc. Tabelle umwandel
hallo leute.
Jetzt stehe ich wieder vor einem Rätsel und suche eine Lösung. Bislang kann ich dank euch eine Textdatei mit den Lottozahlen von 1955-jetzt erstellen.
Jetzt würde ich gerne vorzugsweise in awk eine Zahlenkombination z.B: 3 17 33 37 40 42 mit den bislang gezogenen Zahlenkombisin der Lotto.txt gerne vergleichen und alle relevanten Treffer ab 3 Richtige ausgeben lassen.Dies geht glaube ich am besten mit awk, weil awk mit Adressen besser umgehen kann als sed, aber auch perl wäre mir rechtens.
Die Ausgabe sollte die Zeilennummer , die Treffer ab 3 Richtige aufwärts sowie das Datum der Ziehung beinhalten.
Ausgangsdatei: lotto.txt
21.1.1955 2 4 17 21 26 31
28.1.1955 18 21 31 32 39 35
....
....
....
18.02.2017 17 20 24 25 27 41
Zieldatei: zu suchende Kombination(ab 3 Treffer aufwärts): 3 17 33 37 40 42
1955 03.06. 1965 3 5 16 17 33 39 Treffer: 3 17 33
2315 11.01 1990 5 17 33 36 37 42 Treffer: 17 33 37 42
usw.
alle Treffer ab 3 Richtige sollen angezeigt werden.
Die Zahlen 1955 bzw. 2315 stellen die Zeilennummern, in denen die Kombis vorkommen.
Danke. und Gruß an alle.
Jetzt stehe ich wieder vor einem Rätsel und suche eine Lösung. Bislang kann ich dank euch eine Textdatei mit den Lottozahlen von 1955-jetzt erstellen.
Jetzt würde ich gerne vorzugsweise in awk eine Zahlenkombination z.B: 3 17 33 37 40 42 mit den bislang gezogenen Zahlenkombisin der Lotto.txt gerne vergleichen und alle relevanten Treffer ab 3 Richtige ausgeben lassen.Dies geht glaube ich am besten mit awk, weil awk mit Adressen besser umgehen kann als sed, aber auch perl wäre mir rechtens.
Die Ausgabe sollte die Zeilennummer , die Treffer ab 3 Richtige aufwärts sowie das Datum der Ziehung beinhalten.
Ausgangsdatei: lotto.txt
21.1.1955 2 4 17 21 26 31
28.1.1955 18 21 31 32 39 35
....
....
....
18.02.2017 17 20 24 25 27 41
Zieldatei: zu suchende Kombination(ab 3 Treffer aufwärts): 3 17 33 37 40 42
1955 03.06. 1965 3 5 16 17 33 39 Treffer: 3 17 33
2315 11.01 1990 5 17 33 36 37 42 Treffer: 17 33 37 42
usw.
alle Treffer ab 3 Richtige sollen angezeigt werden.
Die Zahlen 1955 bzw. 2315 stellen die Zeilennummern, in denen die Kombis vorkommen.
Danke. und Gruß an alle.
/ASUS-F751S/ Intel Pentium N3710 @ 2.560Ghz
VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 35)
Linux/5.19.13-arch1-1 x86_64 GNU/Linux
WindowManager: BSPWM
VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 35)
Linux/5.19.13-arch1-1 x86_64 GNU/Linux
WindowManager: BSPWM
Re: Text aus Webseite mittels awk,sed etc. Tabelle umwandel
Mit Python in etwa so. Das Datum am Anfang der Zeile sollte man vielleicht noch ignorieren lassen, aber wahrscheinlich machts keinen Unterschied.
Code: Alles auswählen
#!/usr/bin/python3
import sys
suchliste = []
i = 0
for zahl in sys.argv:
if (i==0):
pass
else :
suchliste.append (zahl)
i+=1
f = open('lotto.txt','r')
for line in f.readlines():
treffer=0
werte = line.split(' ')
for zahl in suchliste:
if (zahl in werte):
treffer += 1
if (treffer > 2):
print ("treffer:", treffer, " am" , werte[0], "in" , line)
f.close()
Re: Text aus Webseite mittels awk,sed etc. Tabelle umwandel
@eggy
python lotto.py bzq. ./lotto.py liefern keine Ergebnisse bzw. Ausgabe. Habe es auch mit python lotto.py + & Zahlen bzw. ./lotto.py + 6 Zahlen eingegeben am Terminal, keine Ausgabe .
python lotto.py bzq. ./lotto.py liefern keine Ergebnisse bzw. Ausgabe. Habe es auch mit python lotto.py + & Zahlen bzw. ./lotto.py + 6 Zahlen eingegeben am Terminal, keine Ausgabe .
/ASUS-F751S/ Intel Pentium N3710 @ 2.560Ghz
VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 35)
Linux/5.19.13-arch1-1 x86_64 GNU/Linux
WindowManager: BSPWM
VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 35)
Linux/5.19.13-arch1-1 x86_64 GNU/Linux
WindowManager: BSPWM
Re: Text aus Webseite mittels awk,sed etc. Tabelle umwandel
Dir ist klar, dass deine Beispiele in Ausgangs- und Zieldatei (mit Ausnahme des 2017er) nicht real sind? Egal, solange das Format von lotto.txt stimmt und sie sich im Home-Verzeichnis des angemeldeten Benutzers befindet, sollte funktionieren:
Code: Alles auswählen
#!/bin/bash
FILE="${HOME}/lotto.txt"
HITS=3
[ $# -gt 0 ] || exit 1
SEARCH="\<$1\>"
while [ $# -gt 1 ]; do
SEARCH="${SEARCH}|\<$2\>"
shift
done
nr=0
while read line; do
nr=$((nr+1))
searchline=$(sed 's/^\([[:digit:]]\{2\}\.\)\{2\}[[:digit:]]\{4\}[[:blank:]]\+//' <<< "$line")
searchresult=$(grep -oE "$SEARCH" <<< "$searchline" | tr "\n" " ")
count=$(wc -w <<< "$searchresult")
[ "$count" -ge "$HITS" ] && echo "$nr $line Treffer: $searchresult"
done < "$FILE"
exit 0
Re: Text aus Webseite mittels awk,sed etc. Tabelle umwandel
hallo tobo.
Ich habe ja die Lottozahlen in der lotto.txt drinnen und die Datei hat das folgende Format:
Die Datei ist ja ellenlang Ich möchte bspw. 6 willkürlich von mir gewählte Lottozahlen im Terminal eingeben und das Script soll diese Zeile für Zeile in der Datei lotto.txt suchen und ab mindestens 3 Richtige aufw#rts + das zugehörige Datum der Zeile in der diese Zahlen stehen, ausgeben.
Zusätzlich könnte dieses Script noch die Zeilen durchnummerieren und in der Zieldatei es ausgeben.
Zu suchende Zahlenfolge soll z.B: sein(Eingabe):
Diese soll in der Ausgangsdatei gesucht und ab 3 Treffer aufwärts die Treffer und das zugehörige Datum mit Zellennummerierung anzeigen, etwa so:
Die Zahlen 4556, 5675 und 7766 sind die Zeilennummern.
Ich hoffe, dass das ein wenig verständlich ist.
Danke für deine Mühe.
Ich habe ja die Lottozahlen in der lotto.txt drinnen und die Datei hat das folgende Format:
Code: Alles auswählen
02.01.2016 1 23 30 35 43 47
09.01.2016 10 13 31 34 46 48
16.01.2016 9 21 23 31 34 39
23.01.2016 2 16 25 26 27 40
30.01.2016 18 23 33 34 40 48
06.02.2016 10 16 25 28 34 49
13.02.2016 18 20 30 32 43 45
20.02.2016 1 13 16 29 30 31
27.02.2016 7 10 15 25 37 49
05.03.2016 7 10 33 37 43 46
12.03.2016 20 26 30 39 47 49
19.03.2016 4 10 15 37 44 49
26.03.2016 1 3 31 33 40 41
02.04.2016 1 10 17 23 28 38
09.04.2016 1 4 38 39 46 47
16.04.2016 5 14 15 20 22 38
23.04.2016 8 15 16 17 27 35
30.04.2016 14 26 28 30 36 43
07.05.2016 16 32 34 37 42 44
14.05.2016 5 13 15 26 30 44
21.05.2016 2 5 29 46 47 48
28.05.2016 5 9 17 24 39 45
04.06.2016 5 6 22 31 35 42
11.06.2016 6 13 21 27 38 45
18.06.2016 2 8 12 17 19 27
25.06.2016 2 6 10 11 34 44
02.07.2016 4 6 8 15 26 30
09.07.2016 1 34 37 40 44 49
16.07.2016 1 18 22 30 34 44
23.07.2016 5 25 29 43 47 48
30.07.2016 6 13 23 26 30 33
06.08.2016 6 25 26 33 45 47
13.08.2016 6 14 28 30 37 39
20.08.2016 23 28 30 31 37 45
27.08.2016 1 8 22 32 33 43
03.09.2016 8 14 18 25 30 36
10.09.2016 1 3 6 11 24 43
17.09.2016 3 34 35 37 46 47
24.09.2016 4 15 18 21 32 45
01.10.2016 7 20 25 26 34 37
08.10.2016 14 21 32 33 35 48
15.10.2016 7 13 19 29 38 41
22.10.2016 2 21 26 32 36 48
29.10.2016 5 7 8 26 28 36
05.11.2016 9 32 35 38 42 43
12.11.2016 2 6 9 19 20 47
19.11.2016 1 2 6 15 38 39
26.11.2016 26 32 41 42 45 47
03.12.2016 5 16 39 43 47 48
10.12.2016 11 17 32 34 37 49
17.12.2016 6 24 28 29 34 35
24.12.2016 4 11 18 22 30 45
31.12.2016 27 29 37 42 45 47
07.01.2017 12 14 17 22 45 46
14.01.2017 3 4 23 27 28 37
21.01.2017 5 9 11 14 26 39
28.01.2017 6 9 15 38 41 42
04.02.2017 2 16 28 37 39 49
11.02.2017 3 12 22 32 45 46
Zusätzlich könnte dieses Script noch die Zeilen durchnummerieren und in der Zieldatei es ausgeben.
Zu suchende Zahlenfolge soll z.B: sein(Eingabe):
Code: Alles auswählen
6 13 15 19 21 34
Code: Alles auswählen
4556 18.02.197ß 2 6 13 14 22 34 --> Treffer:3
5675 29.05.2000 6 10 13 15 16 21 --> Treffer:4
7766 13.06.2008 6 13 15 15 21 44 --> Treffer:5
Ich hoffe, dass das ein wenig verständlich ist.
Danke für deine Mühe.
/ASUS-F751S/ Intel Pentium N3710 @ 2.560Ghz
VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 35)
Linux/5.19.13-arch1-1 x86_64 GNU/Linux
WindowManager: BSPWM
VGA compatible controller: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller (rev 35)
Linux/5.19.13-arch1-1 x86_64 GNU/Linux
WindowManager: BSPWM
Re: Text aus Webseite mittels awk,sed etc. Tabelle umwandel
Ich hatte das auch in etwa so verstanden. Teste doch einfach mal oben das Skript - die Parameter gibst du dem ausführbar gemachten Skript beim Aufruf mit:
Code: Alles auswählen
$ SCRIPT.sh 6 13 15 19 21 34
Re: Text aus Webseite mittels awk,sed etc. Tabelle umwandel
@tHoRax:
Mein Script ging davon aus, dass die Daten mit einem (nicht mehreren hintereinander) Leerzeichen getrennt sind. Wahrscheinlich hat es daher bei Dir nichts gefunden.
./lotto.py 6 13 15 19 21 34
gibt
treffer: 3 am 11.06.2016 in 11.06.2016 6 13 21 27 38 45
Mein Script ging davon aus, dass die Daten mit einem (nicht mehreren hintereinander) Leerzeichen getrennt sind. Wahrscheinlich hat es daher bei Dir nichts gefunden.
Code: Alles auswählen
#!/usr/bin/python3
import sys
import re
suchliste = []
i = 0
for zahl in sys.argv:
if (i==0):
pass
else :
suchliste.append (zahl)
i+=1
f = open('lotto.txt','r')
for line in f.readlines():
line = re.sub(" +", " ", line)
treffer=0
werte = line.split(' ')
for zahl in suchliste:
if (zahl in werte):
treffer += 1
if (treffer > 2):
print ("treffer:", treffer, " am" , werte[0], "in" , line)
f.close()
gibt
treffer: 3 am 11.06.2016 in 11.06.2016 6 13 21 27 38 45