Вот один из способов, который может иметь дело с именами файлов с пробелами, обратными слэшами и другими странными символами:
while read -r file; do rm -- "$file"; done < list.txt
Это будет читать каждую строку list.txt, сохранить его как $file и запустить [ f5]. [F6] гарантирует, что обратная косая черта читается буквально (так что \t соответствует \ и t, а не TAB). [F10] гарантирует, что он также имеет дело с именами файлов, начиная с -.
Вы также можете сделать это в Perl:
perl -lne '$k{$_}++; END{unlink for keys(%k)}' list.txt
Этот файл должен прочитать каждое имя файла в хеше %k, а затем использовать unlink для удаления каждого из них.