Find - Delete > aus Ordner nur bestimmte Dateien älter als ...
-
- Posts: 366
- Joined: 2006-08-27 02:06
Find - Delete > aus Ordner nur bestimmte Dateien älter als ...
Ich habe hier einen 20 GB Ordner mit Images.
Dieser soll nun aufgeräumt werden d.h. alle Dateien älter als ein Jahr löschen.
Das Problem dabei ist das nur bestimmte Dateien gelöscht werden dürfen:
a137062_mainpic.jpg
a100362_addpic0.img
Die dateien die zum Löschen in Frage kommen haben als Dateinamen:
xxxxxx_addpic0.img oder xxxxxxx_mainpic.jpg
Darunter befinden sich auch andere .JPG oder .IMG wie xxxxx.JPG diese dürefen nicht gelöscht werden - nur die mit *_addpic0.img
Wie kann ich das anstellen?
Dieser soll nun aufgeräumt werden d.h. alle Dateien älter als ein Jahr löschen.
Das Problem dabei ist das nur bestimmte Dateien gelöscht werden dürfen:
a137062_mainpic.jpg
a100362_addpic0.img
Die dateien die zum Löschen in Frage kommen haben als Dateinamen:
xxxxxx_addpic0.img oder xxxxxxx_mainpic.jpg
Darunter befinden sich auch andere .JPG oder .IMG wie xxxxx.JPG diese dürefen nicht gelöscht werden - nur die mit *_addpic0.img
Wie kann ich das anstellen?
-
- Project Manager
- Posts: 11183
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Find - Delete > aus Ordner nur bestimmte Dateien älter als ...
Code: Select all
find /path/to/images/ -type f -mtime 365 -name *_addpic0.img -print0 | xargs -0 rm
find /path/to/images/ -type f -mtime 365 -name *_mainpic.jpg -print0 | xargs -0 rm
-
- Posts: 366
- Joined: 2006-08-27 02:06
Re: Find - Delete > aus Ordner nur bestimmte Dateien älter als ...
Danke Joe,
sieht gut aus - ich bekomme aber diese Ausgabe:
rm: fehlender Operand
muss da noch ein -exec vor rm ?
sieht gut aus - ich bekomme aber diese Ausgabe:
rm: fehlender Operand
muss da noch ein -exec vor rm ?
Joe User wrote:Code: Select all
find /path/to/images/ -type f -mtime 365 -name *_addpic0.img -print0 | xargs -0 rm find /path/to/images/ -type f -mtime 365 -name *_mainpic.jpg -print0 | xargs -0 rm
-
- Project Manager
- Posts: 11183
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Find - Delete > aus Ordner nur bestimmte Dateien älter als ...
IIRC legt Debian einige fragwürdige Aliase an, unter Anderem auch für rm...
Du hast nicht zufällig einen Alias für rm?
Fipptehler?
Du hast nicht zufällig einen Alias für rm?
Fipptehler?
-
- Posts: 366
- Joined: 2006-08-27 02:06
Re: Find - Delete > aus Ordner nur bestimmte Dateien älter als ...
Kein alias für rm ...
In der Hilfe wird angegeben:
muss das noch hinter rm > rm ./ oder rm -- ?
Debian 4.0
In der Hilfe wird angegeben:
Code: Select all
Um Dateien zu entfernen, deren Namen mit „-" beginnen
rm -- -foo
rm ./-foo
Debian 4.0
Joe User wrote:IIRC legt Debian einige fragwürdige Aliase an, unter Anderem auch für rm...
Du hast nicht zufällig einen Alias für rm?
Fipptehler?
-
- Project Manager
- Posts: 11183
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Find - Delete > aus Ordner nur bestimmte Dateien älter als ...
Nein, weder hinter noch vor rm fehlt etwas. Gemäss Manpage und Verifizierung unter Gentoo und openSUSE funktioniert mein obiges find/rm problemlos.
Ich liebe Debian immer mehr...
Ich liebe Debian immer mehr...
-
- Project Manager
- Posts: 11183
- Joined: 2003-02-27 01:00
- Location: Hamburg
Re: Find - Delete > aus Ordner nur bestimmte Dateien älter als ...
OK, mein Fipptehler :oops: Vor dem 365 fehlt ein +
Code: Select all
find /path/to/images/ -type f -mtime +365 -name *_addpic0.img -print0 | xargs -0 rm
find /path/to/images/ -type f -mtime +365 -name *_mainpic.jpg -print0 | xargs -0 rm
-
- Posts: 366
- Joined: 2006-08-27 02:06
Re: Find - Delete > aus Ordner nur bestimmte Dateien älter als ...
Danke Joe,
Leider immer noch das gleiche
rm: fehlender Operand
Leider immer noch das gleiche
rm: fehlender Operand
Joe User wrote:OK, mein Fipptehler :oops: Vor dem 365 fehlt ein +Code: Select all
find /path/to/images/ -type f -mtime +365 -name *_addpic0.img -print0 | xargs -0 rm find /path/to/images/ -type f -mtime +365 -name *_mainpic.jpg -print0 | xargs -0 rm
Last edited by fulltilt on 2007-10-16 12:27, edited 1 time in total.
-
- Posts: 366
- Joined: 2006-08-27 02:06
Re: Find - Delete > aus Ordner nur bestimmte Dateien älter als ...
Also mit print0 | xargs -0 -i rm
läuft der scan durch - aber gelöscht wird nix.
Tausende > rm: fehlender Operand
läuft der scan durch - aber gelöscht wird nix.
Tausende > rm: fehlender Operand
[/quote]Joe User wrote:OK, mein Fipptehler :oops: Vor dem 365 fehlt ein +Code: Select all
find /path/to/images/ -type f -mtime +365 -name *_addpic0.img -print0 | xargs -0 rm find /path/to/images/ -type f -mtime +365 -name *_mainpic.jpg -print0 | xargs -0 rm
-
- Posts: 366
- Joined: 2006-08-27 02:06
Re: Find - Delete > aus Ordner nur bestimmte Dateien älter als ...
Danke Joe - klappt jetzt :-)
den / habe ich entfernt und *_addpic0.jpg in " " gesetzt.
Code: Select all
"*_addpic0.jpg" -print0 | xargs -0 rm
Code: Select all
/*_addpic0.jpg -print0 | xargs -0 rm