Hej,
Wie kann ich sed rekursiv für alle HTML-Dateien in allen SUBs (aller DIRs) anwenden? Es geht darum, die Pfade von HTML-Files (einer Bibliothek) Windows-like zu transferieren und Links und Verweise anzupassen.
Für ein bestimmtes (Working-)DIR schauts so aus (positiv):
for i in *.html; do
sed \'s#/home/ds#file:///e:#\' $WORKDIR/$i > $WORKDIR/filetmp;
mv $WORKDIR/filetmp $WORKDIR/$i;
done
Um alle SUBs im DIR (bzw. mehreren DIRs) anzuspringen, muss ich wohl irgendwie den TREE abarbeiten:
$ for f in ???; do
for i in *.html; do
sed ...
done
done
Was steht für ??? - muss ich mir eine SUB-Liste erstellen (wie wäre das dann) ... oder laufe ich in die falsche Richtung und gibts da was schnuckeliges Einfaches?
Danke. edico
Linux 14.981 Themen, 106.343 Beiträge
Klar, gibt immer etwas einfaches. Nimm find:
find / -name '*.html' -exec sed... {} \;
die schnellere unf bessere Variante:
find / -name '*.html' -print0 | xargs -0 sed...
Bye, Klaus