Findet alle Dateien die mit ._ anfangen, ignoriert die .svn eigenen kopien und markiert diese zum löschen via svn.
find . -name '._*' -type f | grep -v '.svn/' | xargs svn rm
Findet alle Dateien die mit ._ anfangen, ignoriert die .svn eigenen kopien und markiert diese zum löschen via svn.
find . -name '._*' -type f | grep -v '.svn/' | xargs svn rm
finde alle dateien in directory die mit .ext enden und kopiere sie nach newdirectory
find directory/ -type f -name *.ext -print0 | xargs -0 cp -t newdirectory/
um mit ant alte dateien per find/pipe/xargs zu entfernen, kann man den ant exec befehl verwenden.
<target name="dump_cleanup" description="dump cleanup - remove old backup db dumps"> <echo message="cleanup backup dir - remove old db dumps"/> <exec executable="bash" dir="${backups}"> <arg value="-c"/> <arg line='"find -P . -maxdepth 1 -type f -ctime +4 -print0 | xargs -0 rm -f"'/> </exec> </target>
Der Konsolen Befehl im Detail:
find . -type f -ctime +3 -maxdepth 1 | xargs rm
find . findet im aktuellen Ordner Dateien (-type f – files) deren Dateistatus vor mehr als 3*24h (-ctime +3) geändert wurde. Mit -maxdepth 1 verhindern wir Rekursion in die Tiefe des aktuellen Ordners.
Die Pipe (|) übergibt das find-Ergebnis nach xargs und führt rm auf jedem einzelnen Ergebnis aus.
Folgender Kommandozeilen Befehl löscht alle .svn Verzeichnisse in einem Ordner.
Im Detail sucht das Kommando find
im aktuellen Ordner (.) rekursiv
nach Verzeichnissen (-type d)
mit dem Namen .svn (-name .svn)
und piped (|) diese Liste
nach xargs,
welches dann an erster Stelle (-0) der Liste
mit der Löschoperation (rm -rf) beginnt.
find . -type d -name .svn -print0 | xargs -0 rm -rf