Интерактивное удаление файлов, перечисленных с помощью путей в текстовом файле

Я пытаюсь в интерактивном режиме удалить файлы, перечисленные с их путями, в текстовый файл.

Команда, которую я пытаюсь сделать:

xargs rm -i <filelist.txt 

Ошибка, которую я получаю:

 rm cannot remove 'directory1/directory2/filename.extension\r': No such file or directory. 

Я подозреваю, что \r , добавленный в конец имени файла, является признаком того, что не так, но я понятия не имею, что это может означать.

Я также пробовал:

 xargs -rd '\n' --arg-file=filelist.txt rm -i -- 

с тем же результатом.

Файлы перечислены в filelist.txt в формате: directory1/directory2/filename.extension где directory1 находится в текущем каталоге.

One Solution collect form web for “Интерактивное удаление файлов, перечисленных с помощью путей в текстовом файле”

В списке файлов используются концы строк CRLF вместо стандартного LF , поэтому в сообщении об ошибке появляется CRLF \r . Пытаться:

 xargs -rd '\n' --arg-file=<(<filelist.txt tr -d '\r') rm -i -- 

(Предполагая, что ваша оболочка имеет подстановку процесса, то есть ksh, bash или zsh.)

  • xargs: Имеет ли порядок вариантов?
  • Xargs с несколькими записями аргументов - используйте аргумент переменной окружения после sh -c '...'
  • использование измененного содержимого файла в качестве аргументов
  • Почему эта команда xargs не работает?
  • zsh "echo SomeText >> ** / filename" в других оболочках
  • Команда xargs приводит к sed:;: Нет такого файла или каталога
  • команда solaris + xargs для солярия
  • Список файлов с меткой времени с эпохи
  • Как мне регистрировать xargs -0 rm?
  • Использовать xargs для перемещения файлов из каталога
  • Выполнить строки вывода команд в качестве другой команды в Linux
  • Linux и Unix - лучшая ОС в мире.