En `` , ¿cómo puedo borrar todos los archivos de un determinado nombre excepto una extensión? Por ejemplo si tengo:
todo en un directorio, ¿cómo puedo borrar todos los excepto para
?
Espera que `` al final de la salida:
En `` , ¿cómo puedo borrar todos los archivos de un determinado nombre excepto una extensión? Por ejemplo si tengo:
todo en un directorio, ¿cómo puedo borrar todos los excepto para
?
Espera que `` al final de la salida:
El siguiente será eliminar todos los archivos con nombre File
(y sólo esos) dentro de la carpeta actual, excepto aquellos con extensión .out
:
find . -type f \( -iname "File.*" ! -iname "*.out" \) -delete -maxdepth 1
Si desea realizar esta operación de forma recursiva (atravesando todas las subcarpetas), retire -maxdepth 1
:
find . -type f \( -iname "File.*" ! -iname "*.out" \) -delete
El me en -inombre realiza una mayúsculas y minúsculas de búsqueda, por lo file.*
, FILE.*
, etc. se eliminarán también. Asimismo, file.OUT
estaría a salvo.
El uso de ksh
's extendida glob.
rm !(*.out|File2.*|FIle2.*)
Que dice en palabras - eliminar archivos que no terminan en .out
o comenzar con File2.
o comenzar con FIle2.
ksh
extendido glob también está disponible en bash
. Debe activar la opción de con shopt -s extglob
. Esta solución producirá un error si se supera ARG_MAX.
Asegúrese de que usted está en el directorio donde estas archivo existe o puede quitar involuntariamente archivos.
AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.