PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kleines Script: foobar.org soll <href a="fooba...> werden



anfaenger0
21.09.2004, 20:04
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

etuli
21.09.2004, 20:25
php -r 'while(!feof(STDIN)){ $_ = chop(fgets(STDIN)); print("<a href=\"".htmlentities($_)."\">$_</a>"); }' < deine datei


mfg

thorus
21.09.2004, 20:27
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.

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

import sys

links = sys.stdin.read()
print '\n'.join(['<a href="%s">%s</a><br />' % ((link,)*2) for link in links.split()])

anfaenger0
21.09.2004, 20:33
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

thorus
21.09.2004, 20:39
Ich hab grad festgestellt, dass evtl. ein paar Shells Probs machen. Im Notfall folgendes verwenden (" ausgetauscht):

python -c "import sys; links = sys.stdin.read(); print '\n'.join(['<a href=\'%s\'>%s</a><br />' % ((link,)*2) for link in links.split()])"

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

muesste das nicht <br> heißen?

anfaenger0
21.09.2004, 20:59
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

avaurus
21.09.2004, 21:17
muesste das nicht <br> heißen?
ein/zwei Jahre verschlafen oder :rolleyes:

qmasterrr
21.09.2004, 22:23
#!/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

anfaenger0
21.09.2004, 22:30
#!/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?

qmasterrr
21.09.2004, 22:48
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 :)