The UNIX and Linux Forums  
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.

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
hpux vg accesibles, pero los archivos de dispositivos que faltan! mariusp Sistemas de ficheros, memoria y discos 1 02-10-2007 03:18 PM
control de los archivos que faltan en el lado de una carpeta Nayanajith UNIX for Dummies Preguntas y Respuestas 4 06-26-2006 06:05 AM
Faltan los archivos de inicio de bash y zsh Maag Sun Solaris 2 05-04-2006 04:37 PM
Falta la Biblioteca de Archivos jays337 UNIX for Dummies Preguntas y Respuestas 5 08-18-2005 08:23 PM
archivos desaparecidos ^ cubículo dweller UNIX for Dummies Preguntas y Respuestas 4 09-22-2003 03:10 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-26-2008
gholdbhurg gholdbhurg is offline
Usuario Registrado
  
 

Fecha: octubre 2007
Puestos: 26
cómo comprobar los archivos que faltan?

Tengo 50 archivos en este directorio (/ home / unixnewbie / wklyfiles), a saber:
statistics.1
statistics.2
statistics.3
statistics.4
statistics.5
statistics.6
statistics.7
statistics.8
statistics.9
statistics.10
....
statistics.20
....
statistics.50

¿Cómo puedo determinar si alguna vez habrá que faltan algunos archivos en allí?
¿Y cómo saber cuáles son exactamente los archivos? Como por ejemplo, la statistics.5, statistics.9, statistics.20 y statistics.35 archivos que faltan semana.

Gracias de antemano.
  #2 (Enlace permanente)  
Old 04-26-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
Crear una lista de todos los archivos que deberían estar allí, y comparar.

Código:
perl -le 'for my $i (1..50) { print "missing: statistics.$i" unless -f "statistics.$i" }'
Quiero decir para el Perl script que acaba de generar la lista, pero resultó ser tan fácil de hacerlo todo en Perl. Lo siento, amigos (-:

Sólo para ilustrar mi propuesta original, que aquí tiene otro enfoque, usando simples comandos:

Código:
yes . | head -50 | nl | sed -e 's/^ *\([1-9][0-9]*\) .*/statistics.\1/' >list
ls -rt statistics.* | diff list -
El archivo "lista" se genera con el nl utilidad para tener números de línea, y el nombre del archivo se calcula utilizando el prefijo sed. (Esto salió bastante torturado - que posiblemente sea mucho más fácil con awk, pero vamos a decir que el uso de lenguajes de scripting sería hacer trampa, ¿de acuerdo?) A continuación, comparamos esa lista en contra de la lista de directorios. Esto requiere que acepta su diferencia "-" en el sentido de "leer el archivo de la entrada estándar" de otro modo, tendrás que usar dos archivos temporales. (No se olvide de quitar cuando se haya terminado.)

Editado por última época; al 04-26-2008 12:34 PM.. Motivo: otro enfoque, sólo con fines ilustrativos
  #3 (Enlace permanente)  
Old 04-26-2008
gholdbhurg gholdbhurg is offline
Usuario Registrado
  
 

Fecha: octubre 2007
Puestos: 26
Wow genial, muchas gracias época!
Espero que no les importa una pregunta, ¿Qué pasa si quiero guardar en un archivo todos los archivos de las estadísticas existentes? Y sólo acaba de poner en los espacios de archivos que faltan?
Ejemplo
\u003d\u003d>
statistics.1; statistics.2; statistics.3; statistics.4; <espacio>; statistics.6 ;...... statistics.19; <espacio>; statistics.21 ;...... estadísticas. 34; <espacio> ;.... statistics.50

Hmmm ..
  #4 (Enlace permanente)  
Old 04-26-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
Código:
perl -e 'for my $i (1..50) { my $f = "statistics.$i"; print ($i > 1 ? ";" : ""), (-f "$f" ? "$f" : " ") }
print "\n"'
El "si? Entonces: más" construir es un poco difícil de resolver en un primer momento, pero hace bastante sencillo una vez que la lógica de entender cómo funciona.
  #5 (Enlace permanente)  
Old 04-26-2008
ripat ripat is online now Forum Advisor  
Usuario Registrado
  
 

Fecha: octubre 2006
Lugar: Bélgica
Puestos: 438
Otra solución de bash:

Código:
#!/bin/bash

for nbr in $(seq 50); do
    if [ ! -e "statistics.$nbr" ]; then echo "statistics.$nbr is missing"; fi
done
Para la línea fanáticos:
Código:
for nbr in $(seq 50); do if [ ! -e "statistics.$nbr" ]; then echo "statistics.$nbr is missing"; fi; done
  #6 (Enlace permanente)  
Old 04-26-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
Adecuada fanáticos quizás prefiera

Código:
for n in $(seq 50); do [ -e statistics.$n ] || echo statistics.$n is missing; done
siguientes no es universal, es por eso que comenzó con Perl, Pero si lo tienes, es excelente para este tipo de trabajo.
  #7 (Enlace permanente)  
Old 04-27-2008
gholdbhurg gholdbhurg is offline
Usuario Registrado
  
 

Fecha: octubre 2007
Puestos: 26
Lamentablemente, la labor siguientes doesnt
siguientes: command not found

Cualquier otro posible las líneas de secuencias de comandos de Unix?
BTW, estoy utilizando ksh. Gracias!
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:22 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