Foros del Web » Administración de Sistemas » Unix / Linux »

Explicación de Shellscript con comando "rm"

Estas en el tema de Explicación de Shellscript con comando "rm" en el foro de Unix / Linux en Foros del Web. Hola... he visto una shellscript para borrar de un directorio que se pasa por parámetro los ficheros más antiguos a 7 días tal que: cd ...
  #1 (permalink)  
Antiguo 08/10/2010, 09:35
 
Fecha de Ingreso: octubre-2010
Mensajes: 2
Antigüedad: 14 años, 1 mes
Puntos: 0
Sonrisa Explicación de Shellscript con comando "rm"

Hola... he visto una shellscript para borrar de un directorio que se pasa por parámetro los ficheros más antiguos a 7 días tal que:

cd $1 && { find . -type f -mtime +7 -exec rm -f -- {} \; ; }

Funciona bien... pero ¿para qué sirven los caracteres "-- {} \; ;" del rm? No sé su significado ni en conjunto ni por partes (-- por un lado, {} por otro; \; por otro y ; por otro).

Si quito todo esto, el rm -f no borra los ficheros... ¿?¿?¿?

Gracias
  #2 (permalink)  
Antiguo 08/10/2010, 10:09
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Explicación de Shellscript con comando "rm"

son diferentes cosas.
Primero que nada, fijate en el manual de find. Su parámetro exec ejecuta, para cada archivo encontrado, el comando que se le pase.
En este parámetro, {} se utiliza como variable: se sustituirá cada vez con el nombre del archivo encontrado.

Ejemplo, si en el directorio hay dos archivos ("a", "b"), la salida de
Código:
find . -exec echo {} \;
sería
a
b

¿se entiende?
\; delimita el comando que debe ejecutarse via -exec.

-- es un parámetro especial para muchos comandos, indica que terminó la lista de parámetros. Sin él, no sería posible eliminar archivos cuyo primer caracter fuese -. Si tengo un archivo de nombre "-hola", y pruebo
Código:
rm -hola
el comando fallará porque rm no admite un parámetro "hola". La forma correcta es
Código:
rm -- -hola
donde -- le dice a rm "terminó la lista de parámetros, todo lo que viene después son nombres de archivo".

Saludos.
  #3 (permalink)  
Antiguo 08/10/2010, 12:11
 
Fecha de Ingreso: octubre-2010
Mensajes: 2
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: Explicación de Shellscript con comando "rm"

Muchas gracias... entendido a la perfección...

Salu2

Etiquetas: comando, shellscript
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:31.