Intereting Posts
Настройка одного и того же адреса хоста в разных сетях Цель «Формат ASCII, с чрезмерным» форматом файла Debian 8 Jessie, паника ядра при выключении Teamcity не запускается при запуске службы, но фактическая команда работает нормально используйте другой сокет, чем / dev / log, общесистемный Yum fail: Требует установленные пакеты Cron не работает при запуске, но работает, если перезагружен? Виртуальный файл, содержащий конкатенацию других файлов Найти и заменить содержимое файла Перестановка места размещения мониторов для сохранения после перезапуска? Как узнать, в каком разделе было установлено мое приложение? Завершена установка phpmyadmin, и теперь mysql / mariadb не запускается Как избежать необходимости выдавать «y» несколько раз при удалении защищенного файла Что делает exec $ SHELL -l? Пересечение строк в файле с использованием bash и переход к переменной. Результирующая переменная – это не то же значение, что и файл, почему?

не удается удалить файл с возвратом каретки

У меня есть файл blahblah\r\n.txt который я хочу удалить, но rm blahblah\r\n.txt не работает, поскольку я получаю No such file or directory сообщения No such file or directory .

Как удалить?

Вы можете заключить строку в $'' чтобы включить интерпретацию управляющих последовательностей в ней (в данном случае, чтобы включить интерпретацию \r ):

 rm $'file\rwith_carriage_return' 
 % touch $'file\rwith_carriage_return' % ls file?with_carriage_return % rm $'file\rwith_carriage_return' % ls % 

Я удалил с помощью rm *.* Однако мне все равно хотелось бы знать, почему rm blahblah\r\n.txt и rm blahblah*.txt не работают.

Из нескольких доступных методов можно найти номер inode, а затем nuke.

 $ mkdir -p ~/tmp/asdf $ cd !$ cd ~/tmp/asdf $ touch `head -c 32 /dev/random` # newlines are boring $ find . -type f -ls 5636303 0 -rw-r--r-- ... $ find . -maxdepth 1 -inum 5636303 -exec rm '{}' \; 

Должно быть возможно удалить файл, если вы rm 'bla\n.txt' имени файла: rm 'bla\n.txt'

Но если это не работает, попробуйте удалить номер inode:

 ls -i bla* 1234 bla\n.txt find . -inum 1234 #make sure the right file and only the right file is returned then find . -inum 1234 -delete 

Обычно, когда я сталкиваюсь с такими ситуациями, я делаю следующее.

EX: Предположим, у меня есть файл xxx \ nyyy '

Я знаю, что он начинается с «xxx» …..

Я использую команду:

  rm -i xxx* 

И удалите RIGHT-файл при появлении запроса, если вы хотите удалить файл или нет.