The UNIX and Linux Forums  


Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Distribución Linux de script bash Samtim74 Programación de scripts de shell y 1 08-19-2008 03:04 AM
Perl código numérico para diferenciar y no numérico de entrada Raynon Programación de scripts de shell y 11 08-04-2007 11:32 AM
cómo en el campo numérico de tipo tiempo rahulspatil_111 Programación de scripts de shell y 1 04-27-2007 12:52 PM
Sort (comando bash) booboo Programación de scripts de shell y 5 03-31-2006 08:18 PM
Numérico de punto flotante comparaciones en bash borncrazy Programación de scripts de shell y 2 03-27-2005 08:39 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 04-27-2008
dlm1065 dlm1065 is offline
Usuario Registrado
  
 

Fecha: abril 2008
Publicaciones: 1
ayudar newb en linux y bash necesidad script tipo numérico

Estoy tratando de configurar automáticamente las importaciones de una serie de archivos de base de datos mysql. Que estoy haciendo ahora manualmente y su dolor real.

Todos los archivos sql son numeradas secuencialmente en un formato de 4 números subrayar texto con espacios sustituye por subraya.

ejemplo:
Cita:
logon_updates/2334_third_file.sql
logon_updates/1234_first_file.sql
logon_updates/1345_second_file.sql
Hay 3 bases de datos de configuración de cada uno de la misma manera. El directorio principal tiene la mayor estructura de base de datos de secuencias de archivo que sustituye a la secuencia inferior. Cada base de datos tiene su propio subdirectorio con los archivos de las actualizaciones de secuencia con los números más altos que la estructura de archivos deben ser cargados en la secuencia numérica. Hay duplicación de números de secuencia en la actualización a todos los directorios que se han cargado antes de la próxima serie.

Me imaginé que puedo hacer esto para obtener la correcta estructura de archivos, ya que no han duplicado el número.

Cita:
lista \u003d $ (find-name "* logon_structure.sql"-print)
for f in $ lista;
hacer
g \u003d $ (echo $ f | cut-b3-6)
if [$ g-ge $ lnum] y, a continuación,
lnum \u003d $ g
fi
hecho
He intentado la siguiente código de deshacerse de el nombre del directorio con el corte pero están en el orden equivocado, están en orden numérico, no alfabético.
La variable h tiene solo el número y g cuenta con todo el nombre de archivo.
Cita:
lista \u003d $ (find logon_updates-name "*. sql"-print)
for f in $ lista;
hacer
g \u003d $ (echo $ f | cut-b15-255)
h \u003d $ (echo $ f | cut-b15-18)
if [$ h-gt $ lnum] y, a continuación,
echo $ g
fi

hecho
Me falta un montón de conocimientos básicos bajo linux que tuve en un dos / ambiente de ventanas.

He estado mirando en este código, siempre que no puedo ver el bosque por los árboles, si sabe a qué me refiero. Por lo tanto, cualquier sugerencia para mí a la derecha del tren de pensamiento sería muy apreciado

Gracias,
dlm1065

Última edición por dlm1065; al 04-27-2008 04:36 AM..
  #2 (Enlace permanente)  
Old 04-27-2008
época era is offline Forum Advisor  
Pastor de Gatos Inútil (en año sabático)
  
 

Fecha: marzo 2008
Ubicación: / hay / es / sólo / bin / sh
Puestos: 3.652
Si sólo vas a usar la salida de encontrar una vez, no es realmente necesario para poner en una variable.

Mi sugerencia sería la de extraer el número de secuencia y la base de datos para separar los campos, tipo y número de la secuencia de números.


Código:
find logon_updates -name "*.sql" -print |
while read f
do
  g=$(echo $f | cut -b15-)
  h=$(echo $f | cut -b15-18)
  echo $h:$g
done | 
sort -t : -k1n

Una vez que se tiene la certeza de que funciona correctamente (no tengo los datos para poner a prueba sobre), puede continuar con el trámite:


Código:
... sort -t : -k1n |
cut -d: -f2- |
while read f; do
  sql PERFORM ACTS OF horror WITH "$f" USING BIG STICK
done

Si la salida de encontrar es bastante regular, probablemente, se pueden encontrar algunas opciones inteligentes que le permiten pasar directamente a la especie de que sin el tiempo que mira. Tal vez pase la salida de encontrar a través de sed regularizar temporalmente a ella?

Tal vez algo como esto ya que el trabajo?


Código:
find -name "*logon_structure.sql" -print |
sort -t / -k2n


Editado por última época; al 04-27-2008 05:17 AM.. Motivo: Vaya, tipo-t (no-d!)
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 08:23 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0