Posts Tagged ‘bash’

Mehrere Dateien mit Prefix umbenennen

13. December 2008

Angenommen wir haben eine Reihe von Dateien, die alle mit einem Prefix in Form von ????_ (z.B 0234_, 1338_) beginnen, welches wir nun beseitigen wollen.
Die Lösung:

for i in ????_*; do x=`echo $i | cut -c 6- `; mv -v $i $x; done

Dazu erstellen wir eine Schleife in der wir die Variablen $i und $x definieren. $i sind alle Dateien, die ein Prefix der Form ????_* haben und $x ist nichts anders als $i (unsere Dateien) mit dem Unterschied, dass wir erst nach dem sechsten Zeichen anfangen zu lesen. Mit anderen Worten, wäre $i z.B 0323_MeineDatei.txt dann ist $x MeineDatei.txt.
Im letzten Schritt werden die Datein dann mit mv umbenannt.

So einfach kann das sein.

Dateien rekursiv löschen

25. September 2008

Es kann vorkommen, dass ganze Verzeichnisse mit alten Backupdatein das Dateisystem unnötig aufblasen. Meinem Fall waren das Textdateien in From von index.php~. Die alle per Hand löschen? Auf gar keinen Fall:

find . -name *~ -exec rm -v {} \;

Dies eignet sich auch besonders gut, um die aus Windows stammende Thumbs.db aus Fotoalben zu löschen. Das würde dann so aussehen:

find . -name 'Thumbs.db' -exec rm -v {} \;

Wer über alte Subversion-Projekte stolpert und die .svn Ordner loswerden möchte, kann folgendes in seine Konsole eintippen:

find /projektverzeichnis -name .svn -type d -exec rm -rv {} \;