Deleting ghost files with non-ASCII characters

filenamesfilesosxrmunicode

I have some weird files and folders in my trash on Mac OS X. After I "empty" the trash, the files still remain. I attempted to manually delete the files:

$ cd /Volumes/VOLUME/.Trashes/501/foldertobedeleted
$ rm -rf * # there's nothing I need here
[...]
rm: somanyfolders: Directory not empty

Weird, right? So I track down the files:

$ ls /Volumes/VOLUME/.Trashes/501/foldertobedeleted/somanyfolders
Φύλλο κόντακτ.mkpdf           Προσαρμογή σε 3x5.mkpdf
Περικοπή σε 3x5.mkpdf          Προσαρμογή σε 4x6.mkpdf
Περικοπή σε 4x6.mkpdf          Προσαρμογή σε 5x7.mkpdf
Περικοπή σε 5x7.mkpdf          Προσαρμογή σε 8x10.mkpdf
Περικοπή σε 8x10.mkpdf

Well, that's annoying. These files didn't even show up in Finder! Well, let's just delete them:

$ cd /Volumes/VOLUME/.Trashes/501/foldertobedeleted/somanyfolders
$ rm *
rm: Φύλλο κόντακτ.mkpdf: No such file or directory
rm: Περικοπή σε 3x5.mkpdf: No such file or directory
rm: Περικοπή σε 4x6.mkpdf: No such file or directory
rm: Περικοπή σε 5x7.mkpdf: No such file or directory
rm: Περικοπή σε 8x10.mkpdf: No such file or directory
rm: Προσαρμογή σε 3x5.mkpdf: No such file or directory
rm: Προσαρμογή σε 4x6.mkpdf: No such file or directory
rm: Προσαρμογή σε 5x7.mkpdf: No such file or directory
rm: Προσαρμογή σε 8x10.mkpdf: No such file or directory

What? ls showed all the files though! How can I delete these files?

Best Answer

I don't have access to OSX so this is a wild guess... but you can try other techniques to delete files, rather than relying on the shell's globbing to match. Try:

find . -not -type d -print -delete

or even

find . -not -type d -print | perl -nle 'print; unlink'
Related Question