Solución:
Usar xargs
:
grep -l --null magenta ./* | xargs -0 rm
El propósito de xargs es tomar la entrada en stdin y colocarla en la línea de comando de su argumento.
Qué hacen las opciones:
-
los
-l
La opción le dice a grep que no imprima el texto coincidente y, en su lugar, solo imprima los nombres de los archivos que contienen texto coincidente. -
los
--null
La opción le dice a grep que separe los nombres de archivo con caracteres NUL. Esto permite que todo tipo de nombres de archivos se manejen de forma segura. -
los
-0
opción a xargs para tratar su entrada como separada por NUL.
He aquí una forma segura:
grep -lr magenta . | xargs -0 rm -f --
-
-l
imprime los nombres de los archivos que coinciden con el patrón de búsqueda. -
-r
realiza una búsqueda recursiva del patrónmagenta
en el directorio dado.
. Si esto no funciona, intente-R
. (es decir, como varios nombres en lugar de uno). -
xargs -0
alimenta los nombres de archivo degrep
pararm -f
-
--
a menudo se olvida, pero es muy importante marcar el final de las opciones y permitir la eliminación de archivos cuyos nombres comienzan con-
.
Si desea ver qué archivos están a punto de eliminarse, simplemente elimine el | xargs -0 rm -f --
parte.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)