Eliminar nombres de archivos que tienen espacio y caracteres especiales

Tengo una gran lista de archivos de más de 7000 archivos para eliminar de un directorio Unix. Podría haber logrado esto usando un ciclo while

while read file
do
rm $file
done < filelist

o sol

cat filelist | xargs rm 

El desafío proviene de eliminar aquellos archivos que tienen "barra diagonal inversa como Windows \, dos puntos: y espacios" en sus nombres de archivo.

Eg.
C:\Sxxx Accr Vac 1111.txt
N:\Lxxx\Dxxx_FOLDER\Mxxx\Mxxx_DOWNLOAD_TEXTFILE_PATH\000000_Mxxx_Bxxx-Pxxx-H.txt
N:\Lxxx\Dxxx_FOLDER\Mxxx\Mxxx_DOWNLOAD_TEXTFILE_PATH\130607_Mxxx_Bxxx-Cxxx-L.txt
N:\Lxxx\Dxxx_FOLDER\Mxxx\Mxxx_DOWNLOAD_TEXTFILE_PATH\140103_Mxxx_Xxxx-Pxx-H.txt

Para eliminarlos, tuve que encerrar todo el nombre del archivo entre comillas dobles. Quería obtener una vista previa de los comandos rm para cada archivo antes de la eliminación real:

while read -r file
do
echo rm \"$file\"
done < filelist

El problema es que los nombres de archivo con "\ 0000" en sus cadenas

eg. N:\Lxxx\Dxxx_FOLDER\Mxxx\Mxxx_DOWNLOAD_TEXTFILE_PATH\000000_Mxxx_Bxxx-Pxxx-H.txt

siempre terminó con el "\ 0000" misteriosamente truncado de la salida.

Eg. For the above file, the rm commands shows up as:
rm "N:\Lxxx\Dxxx_FOLDER\Mxxx\Mxxx_DOWNLOAD_TEXTFILE_PATH00_Mxxx_Bxxx-Pxxx-H.txt"

Ninguno de los otros archivos tuvo este problema después de pasar por el bucle.

¿Alguna pista

Respuestas a la pregunta(0)

Su respuesta a la pregunta