Ubuntu, elimina tutti i file che iniziano con '._'


2

Voglio eliminare tutti i file che iniziano con ._, quando eseguo questo comando:

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

Sono abbastanza sicuro che .stia causando problemi, facendomi pensare che intendo la directory corrente, qual è la sintassi corretta per raggiungere questo obiettivo?

So che questi file provengono dal mio Mac, ho bisogno di un modo per screditarli :-)

Grazie molto

Ben


Hmm, non riesco a riprodurre il tuo problema. ( touch ._test, rm ._*funziona bene.) Forse ci sono altri attributi che fanno la differenza? I file che iniziano con un punto non sono niente di speciale, in quanto è la convenzione di "nascondere", ad esempio i file di configurazione (~ / .profile).
Jawa,

Risposte:


3

Puoi provare questo:

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

o se alla tua shell non piace questo:

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

trovare senza alcun argomento dovrebbe solo elencare tutto .


Grazie! Le prime opzioni hanno funzionato bene quando l'ho fatto: find -name ._\* |xargs sudo rm -v<- l'ho lasciato con un solo dettaglio :-)
Ben Everard,

1
Questo non funzionerà se i nomi dei file contengono spazi o nuove righe. Per supportarli, usa find -print0 e xargs -0. Secondo un collega, la rimozione di tutti i file ._ * confonde le directory SVN. Usa find . -type f -name "._*" -perm +w -delete, perché i file ._ * in SVN non sono scrivibili.
Sjoerd,

@Sjoerd, è davvero più elegante.
Nathan Fellman,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.