Dateien in Ordnern löschen, Ordnerstruktur soll bestehen bleiben

xsid

Active member
Registriert
29 Mai 2007
Beiträge
4.621
Hallo Linuxer,

wie kann ich bequem alle Dateien in Ordnern, auch in darunter Ordnern löschen?
Die Ordner (Verzeichnisse) sollen dabei nicht gelöscht werden.

MfG

xsid
 
Ich würde noch type f dazu nehmen, dann matcht er keine Verzeichnisse (ist zwar nicht schlimm, da rm die eh nicht löschen kann ohne -r, dann kommen aber keine Warnungen):

find /verzeichnis -type f -exec rm '{}' \;

Das kann man sich wunderbar in .bash_alias packen ;)

Alternativ als Fkt. für .bashrc:

Code:
# Steigt in ein Verzeichnis und löscht alle Dateien
# Ruft für jedes Untervezeichnis sich selbst neu auf
function rmfiles()
{       
        cwd=""
        if [ -d "$1" ]; then
                cwd=$1
        else
                cwd=$(pwd)
        fi      
        for i in $(ls -A $cwd); do
                if [ -f "$i" ]; then
                        rm "$i"
                elif [ -d "$i" ]; then
                        rmfiles "$i"
                fi
        done
}

Dann kannst du in der shell rmfiles aufrufen.

Edit1: Code war falsch, jetzt stimmts
Edit2: Bei Verzeichnissen mit Leerzeichen gibts Probleme, keine Ahnung wie man das auf die schnelle in Bash korrigiert
Edit3: Jetzt sollte es gehen und auch versteckte Verzeichniss/Dateien erkennen
 
Zuletzt bearbeitet:
Hallo ihr Beiden danke,

geht das vielleicht auch irgendwie mit Klickibunti?
Was Ihr mit das vorschlagt geht über mein Verständnis.

MfG

xsid
 
Mit Ubuntu zum Beispiel kann man doch bestimmt einfach Suchen -> *.* und dann alles was nicht ordner ist löschen oder?
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben