Aus txt mach html

Liebe/-r wer-weiss-was Experte/-in,

ich habe mir von Alexa.com die 1 Million beliebtesten Internetadressessen geladen. Diese liegen mir nun als Text bzw. CSV vor. Ich möchte mir „schnell“ einige Seiten angucken, dazu müsste ich aber die/den URL kopieren und im Browser einfügen.

Ich könnte zwar das ganze mit einem HTML-Editor umwandeln, dadurch entstehen aber keine Links, sondern ich habe weiterhin reinen Text.

Frage: Wie kann ich am einfachsten aus 1 Million URLs in Textform eine HTML-Datei machen, in der ich jede URL als Link direkt anklicken und aufrufen kann? Am besten mit „target=_blank“, damit sich auch gleich ein neuer Tab öffnet?

Vielen Dank im Voraus!

Nun ja, wenn du ein Linux-user bist, könntest du das mit folgendem shell-script machen:

#!/bin/sh
echo „“ > $1_links.html
for link in cat $1
do
echo "$link
" >> $1_links.html
done
echo „“ >> $1_links.html

Das müsstest du nur in einer Datei (links.sh) speichern, in der Konsole in das entsprechende Verzeichnis gehen, die datei mit
chmod +x links.sh
ausführbar machen und dann mit
./links.sh datei
aufrufen, wobei datei der name der txt-datei ist, die du hast. Du bekommst dann eine neue html-datei, in der alle Links untereinander zum anklicken mit target=_blank aufgeführt sind. Sowas sollte unter Windows vermutlich auch mit batch skripten gehen, aber davon hab ich keine ahnung…

Moin Lucas,

vielen Dank für die schnelle Antwort.
Habe alle Schritte exakt befolgt. Meldung:
./links.sh: line 1: syntax error near unexpected token newline' ./links.sh: line 1:

Leider bin ich programmiertechnisch talentfrei.
Die Datei, die ich angegeben habe, ist eine csv im reinen Textformat UTF-8 kodiert. Es ist kein Komma, Anführungszeichen, Semikolon etc. drin, nur Zeilenumbruch. Sieht also so aus:

google.de


google.com

usw.
Wo könnte der Fehler sein??

Die Datei ohne die An anfang und ende. Die sollten nur signalisieren, wo die Datei anfängt und aufhört.

Ja, vielen Dank, jetzt funktioniert’s.
Jetzt fehlt mir noch das „http://www.“ am Anfang des Links. Wo muss ich das im Skript eintragen?

Ein Nachtrag: Sind die urls tatsächlich alle ohne http://www davor angegeben? Wenn ja, muss das script noch angepasst werden!

Es müsste dann so aussehen:
#!/bin/sh
echo „“ > $1_links.html
for link in cat $1
do
echo "$link
" >> $1_links.html
done
echo „“ >> $1_links.html

1 Like

Ja, super, genau so geht’s.
Nur mein Firefox geht leicht in die Knie. Ich hatte die Liste schon von 1 Million auf ca. 8.000 Einträge gekürzt. Aber Firefox hat echt Mühe, die recht kleine Datei (800 kB) fertig zu laden.

Ich werde das ganze wohl in viele kleine Dateien aufteilen müssen. Bei einer Datei mit 60.000 Links reagiert Firefox selbst nach 10 Minuten nicht.

Naja, so einfach kann Programmieren sein. Ich sollte wirklich mal einen kleinen Grundkurs machen :smile:

Also vielen Dank nochmal.

Gerne :smile:

Und wenn du programmieren lernen möchtest: Das da war shell-script, ist recht leicht und es gibt ne menge tutorials dazu. Ich kann dir aber auch boo oder java empfehlen :wink:

Bin grad mitten im Umzug.

Ich würde versuchen das Ding über Word einfach als HTML zu speichern - da müssten die Links erhalten bleiben.

Dann ggf. mit ner suchen und ersetzen- Funktion das Blank setzen.

Sorry hab meine Programme derzeit nicht am Start sonst könne ich da mal schauen, was die bieten.

Gruss
d.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]