Añadir al nombre de un fichero la fecha y hora ctual

Imagen de ElCrackdel83
0 puntos

Buenas!

Tengo un crontab en el que se llama a un script y hace una cierta funcionalidad. Me gustaría añadirle al nombre de fichero que el script genera la fecha actual, pero no sé como hacerlo.

Actualmente hago algo parecido a:

haz algo > fichero

Me gustaría que dicho fichero incluyese en su nombre la fecha actual, pero por más que intento no consigo hacerlo. ¿Alguien me puede ayudar?

Muchas gracias por vuestra ayuda.

Un saludo.

Imagen de cousteau
+1
0
-1

El comando para saber la fecha y hora es date, así que puedes usar

haz algo > "fichero_`date`"

Con esto te saldrá algo parecido a "fichero_dom feb 22 03:10:53 CET 2009" (ya que los comandos que escribas entre `comillas invertidas` se reemplazarán por su resultado).

Si quieres otro formato de fecha, por ejemplo uno que no incluya espacios, utiliza argumentos para date. Ejemplos:

haz algo > "fichero_`date +%Y_%m_%d`"
haz algo > "fichero_`date +%Y%m%d_%H%M`"

(para más detalles: man date)


«E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem» significa que dpkg se ha interrumpido y que tienes que ejecutar "sudo dpkg --configure -a" para corregir el problema.
+1
0
-1

«E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem» significa que dpkg se ha interrumpido y que tienes que ejecutar "sudo dpkg --configure -a" para corregir el problema.
Imagen de ElCrackdel83
+1
0
-1

Perfecto. Muchísimas gracias.

Me pica la curiosidad de porqué hay que poner esas comillas dobles, así que voy a ver si encuentro algún buen manual de la linea de comandos UNIX y le echo un ojo.

Pero vamos, me has resuelto el problema perfectamente.

Muchas gracias por tu ayuda.

Saludos.

+1
0
-1
Imagen de juanramon
+1
0
-1

las comillas dobles son para que cualquier caracter significativo haga su cometido.
Por ejemplo si la variable x tiene valor 3 pruebalo en consola

 x=3
echo $x
echo "$x"
echo'$x'

Por tanto para que la comilla invertida ( tilde o acento grafico abierto ` ...`)
funcione dentro de echo debe estar entre comillas dobles "...`...`"
Lo que hacen las comillas invertidas es ejecutar un programa detro de un texto
por lo que su salida quedará incluida como texto.

echo "loquesea_`comando`"

por ejemplo si quieres asignar a una variable la fecha de hoy

fecha=`date`
echo $fecha

 

 

Salud y alegria

------------------------------------------------------------------------------------

Juanramon

--------------------------------------------------------------------------------

+1
0
-1

 

 

Salud y alegria

------------------------------------------------------------------------------------

Juanramon

--------------------------------------------------------------------------------

Imagen de ElCrackdel83
+1
0
-1

Buenísima la explicación.

Muchas gracias y Saludos.

+1
0
-1
Imagen de cousteau
+1
0
-1

En realidad, las `comillas invertidas` funcionan con o sin "comillas dobles". Las comillas dobles son para que no hubiese problemas si el nombre resultante tenía espacios o caracteres especiales, como en el primer caso. De hecho, en

haz algo > fichero_`date +%Y%m%d_%H%M`

no harían falta, ya que te quedaría algo como: fichero_20090222_1714


«E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem» significa que dpkg se ha interrumpido y que tienes que ejecutar "sudo dpkg --configure -a" para corregir el problema.
+1
0
-1

«E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem» significa que dpkg se ha interrumpido y que tienes que ejecutar "sudo dpkg --configure -a" para corregir el problema.