• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Mit find versteckte Dateien suchen und löschen [gelöst]

Draco

Newbie
Ich will alle Dateien mit einem ~ am Ende löschen.
Funktioniert mit find und rm auch ganz gut, aber leider werden
versteckte Dateien von find übersehen.
Code:
test@linux:~/verzeichnis>ls -la

-rw-------   1 test 59900    0 Jun  3 10:40 .versteckte-datei.txt~
-rw-------   1 test 59900    0 Jun  3 10:39 nicht-versteckte-datei.txt~

test@linux:~/verzeichnis>find  -type f -name "*.*~" -exec rm -i {} \;

rm: remove regular empty file `./nicht-versteckte-datei.txt~'? n

test@linux:~/verzeichnis>
Gibt es eine Option für find, die auch nach diesen Dateien sucht?

Gruß, Draco
 

oc2pus

Ultimate Guru
Draco schrieb:
oc2pus schrieb:
find -type f -name "*.*~" | xargs rm -f
Funktioniert leider nicht, die versteckte Datei ist immer noch da.

hm, verstehe ich nicht:
oc2pus@work:~> touch .xxx~
oc2pus@work:~> find -type f -name "*.*~"
./.xxx~
oc2pus@work:~> find -type f -name "*.*~" | xargs rm -f
oc2pus@work:~> find -type f -name "*.*~"
oc2pus@work:~>
das ganze unter bash ? oder welche shell nutzt du ?
 
OP
D

Draco

Newbie
oc2pus schrieb:
das ganze unter bash ? oder welche shell nutzt du ?
Ich benutze auch die bash, und mit
Code:
 find -type f -name "*.*~"
wird die Datei bei mir nicht angezeigt, aber mit ls -la.

Hier meine Ausgabe:

Code:
test@linux:~/verzeichnis>touch .versteckte-datei.txt~
test@linux:~/verzeichnis>touch nicht-versteckte-datei.txt~

test@linux:~/verzeichnis>find -type f -name "*.*~"
./nicht-versteckte-datei.txt~

test@linux:~/verzeichnis> find -type f -name "*.*~" | xargs rm -f

test@linux:~/verzeichnis>ls -la
-rw-------   1 test 59900    0 Jun  3 11:44 .versteckte-datei.txt~

test@linux:~/verzeichnis>find -type f -name "*.*~"
test@linux:~/verzeichnis>
 
A

Anonymous

Gast
Draco schrieb:
Code:
 find -type f -name "*.*~"
wird die Datei bei mir nicht angezeigt, aber mit ls -la.

Hier meine Ausgabe:
Code:
test@linux:~/verzeichnis>ls -la
-rw-------   1 test 59900    0 Jun  3 11:44 .versteckte-datei.txt~

Der * am Anfang wird aus Sicherheitsgründen von der Bash nie zu einem Punkt erweitert.
Du musst schon ".*~" daraus machen

robi
 

panamajo

Guru
robi schrieb:
Der * am Anfang wird aus Sicherheitsgründen von der Bash nie zu einem Punkt erweitert.
Du musst schon ".*~" daraus machen
Nö, bei mit geht das (wie bei oc2pus) wunderbar.

Nicht das es helfen würde, aber warum suchst du nach "*.*~" und nicht nach "*~" (oder willst du nur Backups mit Extension löschen)?
 
OP
D

Draco

Newbie
robi schrieb:
Der * am Anfang wird aus Sicherheitsgründen von der Bash nie zu einem Punkt erweitert.
Du musst schon ".*~" daraus machen
Das funktioniert, findet sogar nur die versteckte Datei.

Egal, dann muß ich den Befehl eben zweimal aufrufen:
Einmal für versteckte und einmal für nicht versteckte.

panamajo schrieb:
Nicht das es helfen würde, aber warum suchst du nach "*.*~" und nicht nach "*~" (oder willst du nur Backups mit Extension löschen)?
Stimmt eigentlich, hab garnicht daran gedacht.

Danke euch :D


Gruß, Draco
 
Oben