find: Strange File Names

 
 9.4 Strange File Names
 ======================
 
 'find' can help you remove or rename a file with strange characters in
 its name.  People are sometimes stymied by files whose names contain
 characters such as spaces, tabs, control characters, or characters with
 the high bit set.  The simplest way to remove such files is:
 
      rm -i SOME*PATTERN*THAT*MATCHES*THE*PROBLEM*FILE
 
    'rm' asks you whether to remove each file matching the given pattern.
 If you are using an old shell, this approach might not work if the file
 name contains a character with the high bit set; the shell may strip it
 off.  A more reliable way is:
 
      find . -maxdepth 1 TESTS -okdir rm '{}' \;
 
 where TESTS uniquely identify the file.  The '-maxdepth 1' option
 prevents 'find' from wasting time searching for the file in any
 subdirectories; if there are no subdirectories, you may omit it.  A good
 way to uniquely identify the problem file is to figure out its inode
 number; use
 
      ls -i
 
    Suppose you have a file whose name contains control characters, and
 you have found that its inode number is 12345.  This command prompts you
 for whether to remove it:
 
      find . -maxdepth 1 -inum 12345 -okdir rm -f '{}' \;
 
    If you don't want to be asked, perhaps because the file name may
 contain a strange character sequence that will mess up your screen when
 printed, then use '-execdir' instead of '-okdir'.
 
    If you want to rename the file instead, you can use 'mv' instead of
 'rm':
 
      find . -maxdepth 1 -inum 12345 -okdir mv '{}' NEW-FILE-NAME \;