löschen nur bestimmter dateien

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
OldGod78
Beiträge: 190
Registriert: 20.04.2016 20:59:51
Kontaktdaten:

löschen nur bestimmter dateien

Beitrag von OldGod78 » 28.06.2016 17:34:12

hallo , benutze diesen befehl um alle dateien in nem bestimmten ordner zu löschen :

find /home/user/ -type f -mtime +7 -delete

doch wie muss ich das ändern dass er NUR .zip dateien löscht ??

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: löschen nur bestimmter dateien

Beitrag von Lord_Carlos » 28.06.2016 17:42:26

-name "*.zip"

Glaube ich.

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

Benutzeravatar
smutbert
Beiträge: 8342
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: löschen nur bestimmter dateien

Beitrag von smutbert » 28.06.2016 17:44:38

Besser dürfte '*.zip' sein - mit den einfachen Anführungsstrichen kommt die Shell nicht auf die Idee den * selbst auf die im aktuellen Verzeichnis passenden Dateinamen zu expandieren.

OldGod78
Beiträge: 190
Registriert: 20.04.2016 20:59:51
Kontaktdaten:

Re: löschen nur bestimmter dateien

Beitrag von OldGod78 » 28.06.2016 17:54:54

Lord_Carlos hat geschrieben:-name "*.zip"

Glaube ich.

am ende einfach dran oder wie ? oder so ?

Code: Alles auswählen

find /home/user/ -type f -name '*.zip' -mtime +7 -delete
ne geht net ...

MaGe
Beiträge: 1796
Registriert: 01.06.2014 17:12:16

Re: löschen nur bestimmter dateien

Beitrag von MaGe » 28.06.2016 22:28:11

OldGod78 hat geschrieben:

Code: Alles auswählen

find /home/user/ -type f -name '*.zip' -mtime +7 -delete
ne geht net ...
vieleicht so?
vorsich! mit dem delete. Muster:

Code: Alles auswählen

find /home/privat/mailbox -type f -mtime +7 -iname '*.zip' -delete

gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

Benutzeravatar
Meillo
Moderator
Beiträge: 9232
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: löschen nur bestimmter dateien

Beitrag von Meillo » 29.06.2016 07:10:36

smutbert hat geschrieben:Besser dürfte '*.zip' sein - mit den einfachen Anführungsstrichen kommt die Shell nicht auf die Idee den * selbst auf die im aktuellen Verzeichnis passenden Dateinamen zu expandieren.
Es ist egal, ob Single- oder Double-Quotes verwendet werden, in keinem Fall wird das Globbing durchgefuehrt. Siehe:
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html hat geschrieben: When unquoted and outside a bracket expression, the following three characters shall have special meaning in the specification of patterns:

?
A <question-mark> is a pattern that shall match any character.
*
An <asterisk> is a pattern that shall match multiple characters, as described in Patterns Matching Multiple Characters.
[
...
Use ed once in a while!

wanne
Moderator
Beiträge: 7548
Registriert: 24.05.2010 12:39:42

Re: löschen nur bestimmter dateien

Beitrag von wanne » 29.06.2016 09:04:24

Dasdahier prüft, ob die Datei wirklich eine zip datei ist statt nur auf die Dateiendung zu achten.

Code: Alles auswählen

find /home/privat/mailbox -type f -mtime +7 -exec echo 'file -h -i {} | grep application/zip && rm {}' \; | sh
Glaube aber, dass dir die vorherige Variante lieber ist.
rot: Moderator wanne spricht, default: User wanne spricht.

Antworten