Ubuntu, lösche alle Dateien, die mit '._' beginnen

5273
Ben Everard

Ich möchte alle Dateien löschen, die mit dem folgenden ._Befehl beginnen:

me@me:/var/www/my/project$ sudo rm -Rvi ._* rm: cannot remove `._*': No such file or directory 

Ich bin mir ziemlich sicher, .dass das Probleme verursacht. Ich denke, ich meine das aktuelle Verzeichnis. Wie lautet die richtige Syntax, um dies zu erreichen?

Ich weiß, dass diese Dateien von meinem Mac stammen, und ich brauche eine Möglichkeit, sie zu löschen :-)

Danke vielmals

Ben

2
Hmm, ich kann dein Problem scheinbar nicht reproduzieren. (`touch ._test`,` rm ._ * `funktioniert gut.) Vielleicht gibt es noch andere Attribute, die den Unterschied ausmachen? Dateien, die mit einem Punkt beginnen, sind nichts Besonderes, da es üblich ist, beispielsweise Konfigurationsdateien (~ / .profile) zu "verstecken". Jawa vor 13 Jahren 0

1 Antwort auf die Frage

3
Nathan Fellman

You can try this:

find -name ._\* |xargs sudo rm -Rvi 

or if your shell doesn't like that:

find |grep -e '^\._' | xargs sudo rm -Rvi 

find without any arguments should just list everything.

Vielen Dank! Die ersten Optionen haben gut funktioniert, als ich das getan habe: `find -name ._ \ * | xargs sudo rm -v` <- ließ es nur wortreich :-) Ben Everard vor 13 Jahren 0
Dies funktioniert nicht, wenn Dateinamen Leerzeichen oder Zeilenumbrüche enthalten. Verwenden Sie find -print0 und xargs -0, um diese zu unterstützen. Laut einem Kollegen führt das Entfernen aller ._ * -Dateien zu einem Durcheinander von SVN-Verzeichnissen. Er benutzt `find. -type f -name "._ *" -perm + w -delete`, weil ._ * -Dateien im SVN nicht beschreibbar sind. Sjoerd vor 13 Jahren 1
@Sjoerd, das ist in der Tat eleganter. Nathan Fellman vor 13 Jahren 0