Befehl zum Leeren eines Ordners mit Ausnahme der letzten Datei.
- ottonormal
- Beiträge: 3404
- Registriert: 20.01.2014 22:25:29
Befehl zum Leeren eines Ordners mit Ausnahme der letzten Datei.
Hallo,
ich suche einen Befehl, mit dem ich alle Dateien eines Ordners löschen kann, mit Ausnahme der letzten (neuesten) Datei.
Dann würde ich diesen Befehl gerne in Bleachbit unter "Benutzerdefiniert" einbauen. Das geht da aber anscheinend nicht, da lassen sich nur einzelne Dateien oder Ordner komplett löschen/leeren.
Was gäbe es dafür sonst an Möglichkeiten?
ich suche einen Befehl, mit dem ich alle Dateien eines Ordners löschen kann, mit Ausnahme der letzten (neuesten) Datei.
Dann würde ich diesen Befehl gerne in Bleachbit unter "Benutzerdefiniert" einbauen. Das geht da aber anscheinend nicht, da lassen sich nur einzelne Dateien oder Ordner komplett löschen/leeren.
Was gäbe es dafür sonst an Möglichkeiten?
Re: Befehl zum Leeren eines Ordners mit Ausnahme der letzten Datei.
Code: Alles auswählen
ls -t "$ordner" | sed 1d | xargs rm
Use ed once in a while!
Re: Befehl zum Leeren eines Ordners mit Ausnahme der letzten Datei.
Was ist denn die letzte (neuste) Datei? Zuletzt angelegt? Zueletzt geändert?ottonormal hat geschrieben:mit Ausnahme der letzten (neuesten) Datei.
http://linux-club.de/wiki/opensuse/Zeit ... on_Dateien
- ottonormal
- Beiträge: 3404
- Registriert: 20.01.2014 22:25:29
Re: Befehl zum Leeren eines Ordners mit Ausnahme der letzten Datei.
@Meillo
Danke für den Befehl
Bisher funktioniert es nur wenn ich ein Terminal in dem entsprechenden Ordner öffne und dann:
eingebe.
Alles andere funktioniert bei mir nicht. Z. B.:
ergibt:
Was mache ich falsch?
@uname
Es handelt sich um die zuletzt angelegte Datei, die nicht gelöscht werden soll. Oder auch die neueste, das kommt ja aufs gleiche heraus
Danke für den Befehl
Bisher funktioniert es nur wenn ich ein Terminal in dem entsprechenden Ordner öffne und dann:
Code: Alles auswählen
ls -t | sed 1d | xargs rm
Alles andere funktioniert bei mir nicht. Z. B.:
Code: Alles auswählen
mnt/Daten-1/Backups/Ordner/ ls -t | sed 1d | xargs rm
Code: Alles auswählen
bash: mnt/Daten-1/Backups/Ordner/: Datei oder Verzeichnis nicht gefunden
rm: fehlender Operand
„rm --help“ liefert weitere Informationen.
@uname
Es handelt sich um die zuletzt angelegte Datei, die nicht gelöscht werden soll. Oder auch die neueste, das kommt ja aufs gleiche heraus
- heisenberg
- Beiträge: 4125
- Registriert: 04.06.2015 01:17:27
- Lizenz eigener Beiträge: MIT Lizenz
Re: Befehl zum Leeren eines Ordners mit Ausnahme der letzten Datei.
Probiers mal so:
Code: Alles auswählen
ls -t /mnt/Daten-1/Backups/Ordner/ | sed 1d | xargs rm
- ottonormal
- Beiträge: 3404
- Registriert: 20.01.2014 22:25:29
Re: Befehl zum Leeren eines Ordners mit Ausnahme der letzten Datei.
Danke, hab's probiert.heisenberg hat geschrieben:21.03.2019 19:21:20Probiers mal so:
Code: Alles auswählen
ls -t /mnt/Daten-1/Backups/Ordner/ | sed 1d | xargs rm
Aber weder:
Code: Alles auswählen
ls -t /mnt/Daten-1/Backups/Ordner/ | sed 1d | xargs rm
Code: Alles auswählen
ls -t /mnt/Daten-1/Backups/Ordner | sed 1d | xargs rm
Das ergibt nur:
Code: Alles auswählen
rm: das Entfernen von '20190321_193301.tar' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
rm: das Entfernen von '20190321_193001.tar' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
rm: das Entfernen von '20190321_192701.tar' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
rm: das Entfernen von '20190321_192401.tar' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
- heisenberg
- Beiträge: 4125
- Registriert: 04.06.2015 01:17:27
- Lizenz eigener Beiträge: MIT Lizenz
Re: Befehl zum Leeren eines Ordners mit Ausnahme der letzten Datei.
Es wird nur der Dateiname und nicht auch der volle Pfadname angezeigt.
Na dann halt doch so:
Na dann halt doch so:
Code: Alles auswählen
cd /mnt/Daten-1/Backups/Ordner
ls -t | sed 1d | xargs -r rm
Zuletzt geändert von heisenberg am 21.03.2019 20:14:46, insgesamt 1-mal geändert.
Re: Befehl zum Leeren eines Ordners mit Ausnahme der letzten Datei.
Weil das aktuelle Verzeichnis nicht das durchsuchte Verzeichnis ist, fehlen rm die vollen Pfade der zu löschenden Dateien. Die bekommst Du mit der ls-Option -d. Versuche:
Code: Alles auswählen
ls -td /mnt/Daten-1/Backups/Ordner/* | sed 1d | xargs rm
Re: Befehl zum Leeren eines Ordners mit Ausnahme der letzten Datei.
Leute, ihr seid meine Rettung!
Use ed once in a while!
- ottonormal
- Beiträge: 3404
- Registriert: 20.01.2014 22:25:29
Re: Befehl zum Leeren eines Ordners mit Ausnahme der letzten Datei.
Ja, danke, das funktioniertHuo hat geschrieben:21.03.2019 20:09:53Versuche:Code: Alles auswählen
ls -td /mnt/Daten-1/Backups/Ordner/* | sed 1d | xargs rm
Nun zu Punkt 2:
Wie bekomme ich den Befehl in BleachBit?
BleachBit deshalb weil ich das sowieso regelmäßig nutze und es deshalb nicht "vergessen" kann.
Ansonsten müsste ich mir einen separaten Starter erstellen. Das möchte ich eigentlich nicht so gerne.
-
- Beiträge: 93
- Registriert: 21.03.2016 19:27:53
- Lizenz eigener Beiträge: GNU General Public License
Re: Befehl zum Leeren eines Ordners mit Ausnahme der letzten Datei.
Ich wusste nicht einmal, was BleachBit ist. Bei der Recherche habe ich dann bei UbuntuUsers einen Hinweis auf Eigene Reinigungsmodule gefunden und von dort eine Anleitung bei BleachBit.
Wenn Du schon einen Starter für BleachBit hast, warum nennst Du den nicht "Hausputz" und lässt damit zuerst den Löschbefehl ausführen und danach BleachBit starten? Auch dazu eine Anleitung.
Wenn Du schon einen Starter für BleachBit hast, warum nennst Du den nicht "Hausputz" und lässt damit zuerst den Löschbefehl ausführen und danach BleachBit starten? Auch dazu eine Anleitung.
- ottonormal
- Beiträge: 3404
- Registriert: 20.01.2014 22:25:29
Re: Befehl zum Leeren eines Ordners mit Ausnahme der letzten Datei.
Danke für den Tipp.
Ich habe mir das angeschaut und als für mich zu kompliziert empfunden.
BleachBit nutze ich schon sehr lange und regelmäßig. Es lassen sich in den Optionen unter "Benutzerdefiniert" sehr einfach Dateien und Ordner, die gelöscht bzw. geleert werden sollen hinzufügen. Nur eben nicht mit solchen "Spezialitäten" wie das Nichtlöschen der letzten/neuesten Datei.
In einer solchen Cleaner-Datei sollte sich wohl einrichten lassen. Das ist mir aber einfach zu kompliziert.
Komisch ist aber auch, wenn ich mir einen Starter (.desktop-Datei) erstelle mit dem Löschbefehl darin funktioniert das nicht. Auch wenn "Im Terminal ausführen" angehakt ist.
In einem Terminal direkt eingegeben funktioniert's aber so wie es soll.
Ich habe mir das angeschaut und als für mich zu kompliziert empfunden.
BleachBit nutze ich schon sehr lange und regelmäßig. Es lassen sich in den Optionen unter "Benutzerdefiniert" sehr einfach Dateien und Ordner, die gelöscht bzw. geleert werden sollen hinzufügen. Nur eben nicht mit solchen "Spezialitäten" wie das Nichtlöschen der letzten/neuesten Datei.
In einer solchen Cleaner-Datei sollte sich wohl einrichten lassen. Das ist mir aber einfach zu kompliziert.
Komisch ist aber auch, wenn ich mir einen Starter (.desktop-Datei) erstelle mit dem Löschbefehl darin funktioniert das nicht. Auch wenn "Im Terminal ausführen" angehakt ist.
In einem Terminal direkt eingegeben funktioniert's aber so wie es soll.