La eliminación simple de archivos usando la lista de archivos de texto no funcionará

1

Tengo que eliminar los archivos especificados por remove.txt que se parece a esto:

    img_8138.dng.jpg
    img_8140.dng.jpg
    img_8141.dng.jpg
    img_8143.dng.jpg

He intentado varias sugerencias de la web:

while read file; do rm "$file"; done < remove.txt

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

rm $(cat /Volumes/space1/remove.txt)

xargs rm <remove.txt etc

Los archivos están en el directorio actual, algunos de los cuales Se eliminarán (remove.txt). La eliminación funciona si uso rm en el directorio actual. Pero usando la lista obtengo la error abajo cada vez.

rm: cannot remove ‘img_8147.dng.jpg’: No such file or directory

¿Alguna idea de qué está mal?

    
pregunta johne 21.06.2014 - 00:09

1 respuesta

1

Se espera ese error. No hay una ruta completa que lleve al directorio que contiene los archivos dentro de remove.txt . Por lo tanto, cuando ejecuta rm $(cat /Volumes/space1/remove.txt) fuera del directorio en el que residen estos archivos, obtendrá ese error.

Simplemente ejecuta:

cd /Volumes/space1; rm 'cat remove.txt'

O modifique el archivo remove.txt para incluir la ruta completa.

    
respondido por el njboot 21.06.2014 - 07:50

Lea otras preguntas en las etiquetas