Kleines Script: foobar.org soll <href a="fooba...> werden

A

anfaenger0

Grünschnabel
Hi :)

Ich habe eine Datei in der ich Links sammele und wollte sie aber nun als Html datei speichern. Allerdings möchte ich mir dieses ständige <href a="...> von einen Script abnehmen lassen.

Mein Liste ist so aufgebaut:

http://www.foobar.org/
http://www.unixboard.de/
...
und soll so werden:

<href a="http://www.foobar.org/" target="_blank">http://www.foobar.org/</a>
<href a="http://www.unixboard.de/" target="_blank">http://www.unixboard.de/</a>
...

MfG anfaenger0
 
Code:
php -r 'while(!feof(STDIN)){ $_ = chop(fgets(STDIN)); print("<a href=\"".htmlentities($_)."\">$_</a>"); }' < deine datei

mfg
 
Ich glaub das sollte <a href=...> heissen, oder? ;)
Und ich denke ein <br /> dazwischen wär nicht schlecht, oder? ;)

Mit Hilfe von Python geht das relativ schnell. Ist nicht direkt Shell-Script, aber geht in die Richtung.
Einfach in die Console und links.txt mit deiner Datei ersetzen. Den Output kannst natürlich mit > wieder in ne andere Datei leiten.
Code:
python -c "import sys; links = sys.stdin.read(); print '\n'.join(['<a href="%s">%s</a><br />' % ((link,)*2) for link in links.split()])" < links.txt

Hier der Code in etwas lesbarerer Form, für's Archiv :p
Code:
import sys

links = sys.stdin.read()
print '\n'.join(['<a href="%s">%s</a><br />' % ((link,)*2) for link in links.split()])
 
thorus schrieb:
Ich glaub das sollte <a href=...> heissen, oder? ;)
Und ich denke ein <br /> dazwischen wär nicht schlecht, oder? ;)

jo, wie peinlich :tongue:

Danke, werde das mal ausprobieren
 
Ich hab grad festgestellt, dass evtl. ein paar Shells Probs machen. Im Notfall folgendes verwenden (" ausgetauscht):
Code:
python -c "import sys; links = sys.stdin.read(); print '\n'.join(['<a href=\'%s\'>%s</a><br />' % ((link,)*2) for link in links.split()])"
 
es funktioniert bei mir noch nicht so ganz, es fallen immer die " wech...

und noch zu dem <br>:

Erläuterung:

<br> (br = break = Umbruch) fügt an der gewünschten Stelle einen Zeilenumbruch ein. Dabei ist es egal, ob das alleinstehende Tag am Ende der vorherigen Zeile steht (wie im Beispiel), oder in einer eigenen Zeile, oder am Anfang der folgenden Zeile.
Beachten Sie:

Wenn Sie XHTML-konform arbeiten, müssen Sie das br-Element als inhaltsleer kennzeichnen. Dazu notieren Sie das alleinstehende Tag in der Form <br />.

Quelle: http://de.selfhtml.org/html/text/zeilenumbruch.htm#erzwingen

MfG anfaenger0
 
Zuletzt bearbeitet:
#!/bin/sh
while read line;
do
echo "<a href=\"$line\" target=\"_blank\">$line</a> <br>"
done < test


wobei test der dateiname der datei mit den links ist

entweder als script ausfüren oder aber auch direckt in die shell eingeben
 
qmasterrr schrieb:
#!/bin/sh
while read line;
do
echo "<a href=\"$line\" target=\"_blank\">$line</a> <br>"
done < test

funktioniert. :]

Kann man dem noch beibringen, wenn in links.txt eine zeile leer ist, dass er die dann ignoriert?
 
ja sicher...

#!/bin/zsh
while read line;
do
if [[ $line != "" ]] then echo "<a href=\"$line\" target=\"_blank\">$line</a> <br>"; fi
done < test


ich weiß nicht ob es unter der bash auch klappt sonnst musst du es halt etwas anpassen :)
 
Zuletzt bearbeitet:

Ähnliche Themen

CentOS 5.8 –SQL Abfrage– HTML wird generiert und daraus müssen mehrere Mails versendet werden

mittels if abfrage datei nach variabelnwert durchsuchen

valid html via echo

Aura for PHP Konfigurationsproblem

JBidWatcher: Problem bei loading Auctions in Verbindung mit mySQL

Zurück
Oben