Kategorien
Debugging Deployment Linux Server Shell SVN Versionierung

mit find, grep und xargs dateien rekursiv aus svn working copies löschen

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
Kategorien
Deployment Linux Server Shell

mit find und xargs und cp dateien von a nach b kopieren

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/

Kategorien
ANT Deployment Linux Server Shell

alte dateien mit ant task löschen

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>
Kategorien
Deployment Linux Server Shell

mit find und xargs alte dateien löschen

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.

Kategorien
Deployment Linux Server Shell SVN Versionierung

.svn Verzeichnisse rekursiv aus Ordnern löschen

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