Hi!
Gesucht ist ein Einzeiler [1], der mir z.B. alle php-Dateien in .html-Dateien umbenennt. "mv *.php3 *.html" erzählt immer was, er würde als letzten Parameter ein Verzeichnis brauchen.
"find *.php3 -type f -print | xargs -i mv {} {}.html" ist schon ganz gut, nur mit dem kleinen Schönheitsfehler, das die Dinger dann .php3.html heißen.
Ich hatte eigentlich an eine elegante "for"-Schleife der bash gedacht, die sich auch mal für andere Aufgaben einsetzten läßt.
Ciao Bert
[1] elegant ist da ja obligatorisch ;-)
Bert Lange schrieb:
Hi!
Gesucht ist ein Einzeiler [1], der mir z.B. alle php-Dateien in .html-Dateien umbenennt. "mv *.php3 *.html" erzählt immer was, er würde als letzten Parameter ein Verzeichnis brauchen.
"find *.php3 -type f -print | xargs -i mv {} {}.html" ist schon ganz gut, nur mit dem kleinen Schönheitsfehler, das die Dinger dann .php3.html heißen.
for i in $(find . -type f "*.php3"); do mv "$i" "${i%%php3}html"; done
sollte klappen.
Jan
On Fri, Aug 10, 2001 at 11:05:32AM +0200, Bert Lange wrote:
Gesucht ist ein Einzeiler [1], der mir z.B. alle php-Dateien in .html-Dateien umbenennt. "mv *.php3 *.html" erzählt immer was, er würde als letzten Parameter ein Verzeichnis brauchen.
a=".html";b=".php3";for i in `ls -1 *$a 2>/dev/null|sed s/$a//`;do mv $i$a $i$b;done
Eric
Hi Bert,
On Fri, Aug 10, 2001 at 11:05:32 +0200, Bert Lange wrote:
Gesucht ist ein Einzeiler [1], der mir z.B. alle php-Dateien in .html-Dateien umbenennt. "mv *.php3 *.html" erzählt immer was, er würde
for f in *.php3 ; do mv $f `basename $f .php3`.html ; done
einzeilig genug? :-)
bye, Chris
Hi Bert,
On Fri, Aug 10, 2001 at 22:15:38 +0200, Bert Lange wrote:
Ich gehe mal davon aus, das alle funktionieren, aber das von Christian sieht am elegantesten aus! Trotzdem schön zu sehen, das von bisher vier
Danke :)
Allerdings laeuft meine Loesung bei Leerzeichen in Dateinamen gegen den Baum. Und das basename-Konstrukt kann man mit ${f%.php3} auch bash-intern loesen.
bye, Chris
Am Samstag, 11. August 2001 09:54 schrieben Sie:
On Fri, Aug 10, 2001 at 22:15:38 +0200, Bert Lange wrote:
Ich gehe mal davon aus, das alle funktionieren, aber das von Christian sieht am elegantesten aus! Trotzdem schön zu sehen, das von bisher vier
Danke :)
Allerdings laeuft meine Loesung bei Leerzeichen in Dateinamen gegen den Baum. Und das basename-Konstrukt kann man mit ${f%.php3} auch bash-intern loesen.
Einsicht ist der erste Weg zur Besserung.
Stephan
On Fri, Aug 10, 2001 at 11:05:32AM +0200, Bert Lange wrote:
Hi!
Gesucht ist ein Einzeiler [1], der mir z.B. alle php-Dateien in .html-Dateien umbenennt. "mv *.php3 *.html" erzählt immer was, er würde als letzten Parameter ein Verzeichnis brauchen.
Folgendes macht es (ungetestet) rekursiv für alle Dateien und Unterverzeichnisse:
for i in `find . | grep -E 'php3$'`; do mv $i ${i/php3/html}; done
Könnte Probleme machen, wenn php3 im Dateinamen vorkommt. Z.B. foo_php3.php3
lug-dd@mailman.schlittermann.de