Anzeige:
Ergebnis 1 bis 6 von 6

Thema: Wie bestimmte Anzahl an Dateien löschen?

  1. #1
    Registrierter Benutzer
    Registriert seit
    Mar 2003
    Beiträge
    189

    Wie bestimmte Anzahl an Dateien löschen?

    Hallo.

    Gerade registriert und schon eine Frage. Als erstes aber mal ein Lob. Ich habe hier schon sehr viel gefunden was mir weitergeholfen hat

    Zu meinem Problem...
    In einem Verzeichnis liegen 60 Dateien. Von den 60 Dateien sollen die ersten 20 die mit ls -1 angezeigt werden gelöscht werden.

    Wie bekomme ich das in der shell hin?

    edit: Alternativ würde es mir auch reichen die 20 ältesten Dateien zu löschen.

    Gruß elevator
    Geändert von elevator (19.03.03 um 05:05 Uhr)

  2. #2
    Java Fanboy Avatar von comrad
    Registriert seit
    Mar 2001
    Ort
    Delmenhorst
    Beiträge
    4.052
    du könntest das in eine temporäre Datei lenken und dann immer wieder testen lassen, ob die Länge der Zeilen in der Datei < 60 ist z.b. Du musst nur eine Schleife haben irgendwo.

    comrad

  3. #3
    Premium Mitglied Avatar von bernie
    Registriert seit
    Apr 2002
    Ort
    Wien
    Beiträge
    2.652
    Hi,

    du machst ein "ls -1 --color=never" (falls deine Konsole Farben hat) und "pipest" das Ergebnis durch "split", dieses Ergebnis kannst du dann mit xargs löschen, in Etwa sieht das so aus

    ls -1 --color=never | split -l 20 | xargs -n1 rm

    Allerdings hab ich das jetzt auf die schnelle mit dem split nicht hinbekommen, da musst du dich noch ein bisschen spielen. Ahja, und das rm im xargs lass so lange weg wie es geht und teste das ganze, ich hab mir mit sowas schon mal mehr gelöscht als ich wollte.

    Ciao, Bernie
    Vorsicht. In der *X-Community einen Reboot als Problemloesung zu empfehlen/anzudeuten ist, als wuerde man einem Moslem empfehlen zur Entspannung ein Glaeschen Wein zu trinken.

  4. #4
    Registrierter Benutzer
    Registriert seit
    Aug 2001
    Beiträge
    1.845
    ls -1 --color=never | split -l 20 | xargs -n1
    Anderer Weg: "head -n 20" statt "split". Wie Du sie nach Datum sortiert bekommst, sagt Dir die manpage zu "ls" ("ctime", "atime", "--sort" "-c", "-r")
    Vor drei Minuten hörten wir Lärm und dachten, es wäre Luftalarm. Ich habe die Gasmaske, die ich immer bei mir trage, gegriffen. Aber dann sagte man mir, das sei die Musik von der Moschee.
    Julie Chen, Reporterin von CBS in Kuwait

  5. #5
    Registrierter Benutzer
    Registriert seit
    Mar 2003
    Beiträge
    189

    Thumbs up

    Danke

    Gruß elevator

  6. #6
    Sysop Avatar von Elektronator
    Registriert seit
    Nov 2001
    Ort
    Grainau
    Beiträge
    491
    Auf diese Weise rotiere ich meine Backups:

    # alte Backups entfernen
    rm -f $(/usr/bin/find $BACKUP_DIR/*.tar.bz2 -atime +21 -type f)
    running Debian unstable, pppoe ipppd httpd squid named dhcpd arpwatch netfilter raid sshd sendmail fetchmail imapd smbd nfsd CUPS hfaxd

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •