Ejecuto este comando:
~/shell_temp$ find . -type f -name "IMAG1806.jpg" -exec rm -f {}\
Obtuve la salida a continuación:
> IMAG1806.jpg
Error:
find: missing argument to `-exec'
¿Cuál es el comando exacto para encontrar cualquier archivo del directorio actual y eliminar con -exec
?
command-line
find
Akshay Patel
fuente
fuente
rm "IMAG1806.jpg"
? Está en el mismo directorio, así que ya sabes cómo se llama.-exec rm
solo usar-delete
directamente.Respuestas:
Te perdiste la
;
a al final (y también un espacio entre{}
y;
). El comando correcto es:;
indica el final del-exec
predicado defind
.También tenga en cuenta que hemos utilizado, por
\;
ejemplo,\
en frente de;
para escapar de la interpretación de;
by shell, de lo contrario, shell se tratará;
como el final de todo elfind
comando yfind
arrojará el mismo error. También puede usar en';'
lugar de\;
.Estaba usando
\
al final, esto indica que su shell continuará recibiendo información a través dePS2
(indicado por>
),IMAG1806.jpg
volvió a escribir , por lo que todo el comando se convierte en:Como puede ver, este no es un comando válido en absoluto con
IMAG1806.jpg
al final, sin cierre de-exec
predicado y sin un espacio entre{}
y\;
.fuente
;
al final" Gracias por esto, pasaron 10 minutos la solución de problemas antes de que me di cuenta que había introducido accidentalmente:
en lugar de;
, en estas pantallas HD modernos su fácil pasar por alto ...Puedes simplemente
Desde la página del manual:
fuente