![](https://seccdn.libravatar.org/avatar/2f147b7422a1d2f6fe127a6855fcc6b8.jpg?s=120&d=mm&r=g)
Hallo Bernd, From: Bernd Tannenbaum <tannenbaum@service.itenos.de> To: suse-linux@suse.com Subject: Re: schonwieder sed :( - Solved:) Date sent: Thu, 31 Jul 2003 13:12:38 +0200
Okay, hier meine funktionierend lösung fürs Archiv:
In einem Verzeichnis liegen die file(s) xxx, die nicht mit einem "." beginnen. Sie sollen per cronjob im Web downloadbar werden.
Mein cronjob führt folgendes Script aus:
/bin/rm /pfad/index.html /bin/ls /pfad | grep ^[^.] > /pfad/.body1 /bin/sed -e 's/$/">Download<\/a><br>/g' /pfad/.body1 > /pfad/.body2 /bin/sed -e 's/^/<a href="/g' /pfad/.body2 > /pfad/.body3 /bin/cat /pfad/.head > /pfad/index.html /bin/cat /pfad/.body3 >> /pfad/index.html /bin/cat /pfad/.end >> /pfad/index.html
ich hab's ja nicht probiert, aber ich glaube auf der HTML-Seite steht dann nur mehrfach "Download". Es geht glaub' ich einfacher und schoener: /bin/cat /pfad/.head > /pfad/index.html ls /pfad | grep ^[^.] | sed -e 's/^\(.*\)$/<a href="\1">Download \1<\/a><br>/g' \
/pfad/index.html /bin/cat /pfad/.end >> /pfad/index.html
Nicht getestet aber in der HTML Seite sollte dann Download <Dateiname> stehen. sed kann sich gefundene Muster merken - merken im Suchmuster \(<Muster\) merken ein: \( ganze Zeile .* merken aus \) - einfuegen im Ersetzen-Muster \1 (erster Merkbuffer) HTH, Oliver