3

Я написал Perl-скрипт и перебрал имя моего выходного файла, вставив пробел в имя файла, так что теперь у меня есть my_file .txt Я попытался выполнить следующее безуспешно (и об ошибках не сообщалось):

rm ./my_file\ .txt
rm "./my_file .txt"
find . -inum 123 -exec rm -i {} \;

Ничто из вышеперечисленного не удаляет файл, и я не получаю сообщение об ошибке, предупреждение и т.д. У меня есть файл, каталог и соответствующие разрешения. Дескриптор файла закрыт, и lsof ./my_file\ .txt не показывает файл, используемый в другом месте. Мой гугл-фу подвел меня, поэтому заранее спасибо за любую помощь, которую вы можете предложить.

РЕДАКТИРОВАТЬ: вывод статистики:

$ stat my_file\ .txt
  File: `my_file .txt'
  Size: 4096            Blocks: 8          IO Block: 4096   regular file
Device: fd00h/64768d    Inode: 16613511    Links: 1
Access: (0777/-rwxrwxrwx)  Uid: ( 4939/ abc1111)   Gid: (  100/  ABware)
Access: 2013-07-02 09:27:32.000000000 -0500
Modify: 2013-07-02 10:57:21.000000000 -0500
Change: 2013-07-02 10:57:21.000000000 -0500

1 ответ1

4

Самый верный способ удалить вещи со странными именами - использовать действие find -delete . Например

find . -inum 16613511 -delete 

или же

find . my_file?.txt -delete 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .