У меня есть маленький надоедливый файл, имя которого кажется одним символом, и этот символ \r
Как я могу удалить это?
Это то, что я получаю с ls -bl
:
-rw-rwxr--+ 1 root snapplewriters 0 Aug 29 2011 \r
ls -l
просто отобразить это "?"
linux
bash
filesystems
Colin
источник
источник
Ответы:
Us ,
ls -li
чтобы получить номер индексного дескриптора для файла (первый столбец), а затем использоватьfind
для его удаления (при условии , инод 12345):find . -inum 12345 -exec rm -i {} \;
источник
find
, вы также можете сделатьfind . -inum 12345 -delete
используйте цитирование ANSI-C:
rm $'\r'
http://www.gnu.org/software/bash/manual/bashref.html#ANSI_002dC-Quoting
источник
Я лично достиг бы Python:
Но вы также можете сделать это из оболочки, если вы понимаете escape-символы.
источник
Другой быстрый способ удалить файл с именем,
<carriage return>
если вы используете оболочку Bash:источник
Односимвольные имена файлов необычны, и если у вас нет других таких файлов в вашем каталоге, вы можете попробовать это:
Мне лень учиться или искать, как процитировать странные символы, поэтому я использовал варианты этого несколько раз, когда застрял в файлах со сложными именами.
источник
man bash
. Попробуйтеtouch a b c d $'\r'; rm ?