Batch Finden und Entfernen von Dateien unter Linux mit dem Befehl find command

8

Hallo alle zusammen Ich versuche, alle thumbs.db-Dateien in einer Windows-Partition mit dem Befehl find in ubuntu zu entfernen:

%Vor%

Aber es funktioniert nicht für mich und nichts passiert! Ich habe diesen Trick gemacht, um meine Junk-Dateien vorher auf der vorherigen Version von Ubuntu zu entfernen, aber jetzt auf der neuesten Version von Ubuntu kann ich nicht. Gibt es einen Fehler in meinem Befehl?

    
Ahmad Azimi 05.06.2011, 09:21
quelle

5 Antworten

36

Ich würde es so machen:

%Vor%

Auf diese Weise funktioniert es auch dann, wenn Ihre Verzeichnisse Leerzeichen in ihren Namen enthalten.

    
Chris Jester-Young 05.06.2011, 09:29
quelle
28

nur um das hier raus zu werfen

%Vor%     
Michael 16.07.2013 01:45
quelle
6

Ich bin mir nicht sicher, warum Sie while verwenden.

%Vor%

... sollte ausreichen (und nur die gewünschten Dateien löschen, nicht irgendwelche BDB-Dateien, die herumliegen könnten).

    
Johnsyweb 05.06.2011 09:30
quelle
1

Der Code sieht gut aus und funktioniert auf Arch und Debian. Vielleicht gibt es keine Dateien, die "* .db" entsprechen?

Als Nebenbemerkung: Es ist vielleicht keine gute Idee, alle Dateien mit dem Suffix ".db" zu löschen, da Sie versehentlich andere Dateien als "Thumbs.db"

löschen können     
Pascal Wittmann 05.06.2011 09:26
quelle
0

Überprüfen Sie zuerst, ob der erste Teil Ihres Befehls das ist:

  

finden. -iname "* .db"

gibt irgendetwas zurück.

Wenn dies der Fall ist, können Sie xargs wie folgt verwenden, um Ihre Aufgabe zu erfüllen:

  

finden. -iname "* .db" | xargs rm -rfv

UPDATE: Von Kommentaren ist dies unsicher, besonders wenn Leerzeichen in Verzeichnis- / Dateinamen vorhanden sind. Sie müssen -print0 / xargs -0 verwenden, um es sicher zu machen.

    
Ozair Kafray 05.06.2011 09:32
quelle

Tags und Links