


Jue Nov 01, 2007 1:46 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4143
Ubicación: Valladolid, España
|
|
|
|
|
Que no, que has entendido la sintaxis de ksh... que lo que empieza por '#' es un comentario... he puesto las fechas que salen en forma de comentario para que veas qué es lo que sale.
De la página de manual de ksh:
| Código: |
Comments.
A word beginning with # causes that word and all the following characters up to a new-line to be ignored. |
Y sobre el 'sed': sobra. Con el comando date, vale.
Hay que leer un poquito más, ¿eh?
Actualización: he editado tu mensaje anterior y he cambiado las etiquetas de código a la de sintasix bash, que es la más parecida a la de ksh. Como verás, el efecto del '#' es brutal: todo lo que sigue es un comentario, incluido el comando awk y el sed. |
|

Jue Nov 01, 2007 3:23 pm
|
 |
Kiloko
Perlero Adicto

|
Registrado: 10 Jul 2007
Mensajes: 244
Ubicación: MOnterrey NL
|
|
|
|
|
Ok, así quedaría:
| bash: | export AYER= `date -d yesterday '+%Y%m%d'| awk -F":" '{printf"20%2d%2d%2d\n",$1,$2,($3-1)}' | sed 's/ /0/g'`; |
Pero me manda un Warning.
| Código: |
date: illegal option -- d
usage: date [-u] mmddHHMM[[cc]yy][.SS]
date [-u] [+format]
date -a [-]sss[.fff] |
Esto era lo que no comprendía, error mio no era el # si no esta parte, creo que no me supe dar a entender...
Comentario: No jalan, por la versión, rayos
Se supone que AYER va a ser igual al día de ayer, por lo tanto si yo a AYER le pongo igual a 20071031, ¿esa es la fecha que tomaría, verdad? |
|
Jue Nov 01, 2007 4:11 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4143
Ubicación: Valladolid, España
|
|
|
|
|
Con lo fácil que es hacerlo en Perl...
|
|
Jue Nov 01, 2007 4:22 pm
|
 |
Kiloko
Perlero Adicto

|
Registrado: 10 Jul 2007
Mensajes: 244
Ubicación: MOnterrey NL
|
|
|
|
|
Sabes voy a proponer, una carita que esté llorando para poder insertarla en el foro... jajajajajaja Para qué me la complico, un programa en Perl y vámonos... Ok, deja, checo cuáles son los módulos para comprimir...
 |
|

Jue Nov 01, 2007 5:22 pm
|
 |
Kiloko
Perlero Adicto

|
Registrado: 10 Jul 2007
Mensajes: 244
Ubicación: MOnterrey NL
|
|
|
|
|
Una pregunta rápida, para solucionar el problema en lo que armo el script en Perl.
Quiero comprimir X número de archivos (más de 5 mil) que comienzan con:
| Código: |
| pruebas_latencia200710310000000.sql.gz |
Los 000000 son datos. Según yo, un comodín para suplir esos ceros, es (*) y que todo eso me lo guarde en un archivo que diga Tar_200710310.tar y así segmentarlo en 3 bloques: 0,1,2.
| Código: |
gzip pruebas_latencia200710310* tar -cvf Tar_200710310.tar
gzip pruebas_latencia200710311* tar -cvf Tar_200710312.tar
gzip pruebas_latencia200710312* tar -cvf Tar_200710312.tar |
Pero me manda el mensaje:
| Código: |
| bash: /bin/gzip: Listado de argumentos demasiado largo |
¿Qué me recomiendan hacer en estos casos? |
|

Jue Nov 01, 2007 5:34 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4143
Ubicación: Valladolid, España
|
|
|
|
|
El error del shell se debe a que por efecto del comodín, ha intentado poner miles de ficheros en la línea de comandos ANTES de ejecutar gzip.
En esos casos es mejor usar un bucle.
Otra cosa... en las versiones modernas de tar se puede hacer que comprima en gzip mientras va añadiendo ficheros. Así que
| Código: |
| gzip pruebas_latencia200710310* tar -cvf Tar_200710310.tar |
se puede convertir en
| Código: |
| tar czvf Tar_200710310.tgz pruebas_latencia200710310* |
|
|
Jue Nov 01, 2007 6:22 pm
|
 |
Kiloko
Perlero Adicto

|
Registrado: 10 Jul 2007
Mensajes: 244
Ubicación: MOnterrey NL
|
|
|
|
|
mm No, de plano no jaló. Por cierto, mencioné que los archivos que quiero comprimir están ya comprimidos, jajajajajaja qué show, bueno habrá que hacerlo en Perl.
¿Qué me recomiendan, para que al final el archivo diga, archivo.tar.gz?
Saludos |
|

Powered by phpBB © 2001, 2005 phpBB Group
|