The UNIX and Linux Forums  
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.

Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
HPUX vg accessibile ma file di periferica mancanti! mariusp Filesystem, memoria e dischi 1 02-10-2007 03:18 PM
controllo file mancanti nel lato di una cartella Nayanajith UNIX for Dummies Domande & Risposte 4 06-26-2006 06:05 AM
Missing file init per zsh e bash Maag SUN Solaris 2 05-04-2006 04:37 PM
Missing file di libreria jays337 UNIX for Dummies Domande & Risposte 5 08-18-2005 08:23 PM
file mancanti cubicolo ^ abitante UNIX for Dummies Domande & Risposte 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 Thread Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 04-26-2008
gholdbhurg gholdbhurg is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2007
Interventi: 26
come controllare file mancanti?

Ho 50 file in questa directory (/ home / unixnewbie / wklyfiles), ossia:
statistics.1
statistics.2
statistics.3
statistics.4
statistics.5
statistics.6
statistics.7
statistics.8
statistics.9
statistics.10
....
statistics.20
....
statistics.50

Come posso determinare se mai ci saranno alcuni file mancanti in là?
E come sapere quali file sono quelle esatte? Come per esempio, il statistics.5, statistics.9, statistics.20 e statistics.35 file sono mancanti quella settimana.

Grazie in anticipo.
  #2 (permalink)  
Old 04-26-2008
epoca era is offline Forum Advisor  
Herder di Inutile Gatti (Su sabbatico)
  
 

Iscriviti Data: marzo 2008
Ubicazione: / ci / è / solo / bin / sh
Interventi: 3.652
Creare un elenco di tutti i file che dovrebbero essere lì, e confrontare.

Codice:
perl -le 'for my $i (1..50) { print "missing: statistics.$i" unless -f "statistics.$i" }'
Volevo dire per la Perl script per generare solo l'elenco, ma si è rivelata in modo semplice di farlo in tutti i Perl. Siamo spiacenti, gente (-:

Proprio per illustrare la mia proposta iniziale, ecco un altro approccio, utilizzando semplici comandi di shell:

Codice:
yes . | head -50 | nl | sed -e 's/^ *\([1-9][0-9]*\) .*/statistics.\1/' >list
ls -rt statistics.* | diff list -
Il file "elenco" viene generato con la nl utilità di avere numeri di linea, e il nome del file viene aggiunto il prefisso utilizzando sed. (Questa è uscito piuttosto torturati - che probabilmente sarà molto più facile con awk, ma solo dire che l'utilizzo di linguaggi di scripting sarebbe barare, okay?) Che poi si confrontano lista contro l'attuale elenco di directory. Ciò richiede che il tuo diff accetta "-" per "leggere gli altri file da un input standard" in caso contrario, sarà necessario utilizzare due file temporanei. (Non dimenticare di rimuovere quando il gioco è fatto.)

Ultimo a cura di epoca; al 04/26/2008 12:34 PM.. Motivo: approccio alternativo, solo per l'illustrazione
  #3 (permalink)  
Old 04-26-2008
gholdbhurg gholdbhurg is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2007
Interventi: 26
Wow great, thanks a lot epoca!
Hope you don't mind un follow-up questione, i quali, se vogliono conservare in un file tutti i file, le statistiche esistenti? E proprio appena messo spazi su tali file mancanti?
Esempio
\u003d\u003d>
statistics.1; statistics.2; statistics.3; statistics.4; <space>; statistics.6 ;...... statistics.19; <space>; statistics.21 ;...... statistiche. 34; <space> ;.... statistics.50

Hmmm ..
  #4 (permalink)  
Old 04-26-2008
epoca era is offline Forum Advisor  
Herder di Inutile Gatti (Su sabbatico)
  
 

Iscriviti Data: marzo 2008
Ubicazione: / ci / è / solo / bin / sh
Interventi: 3.652
Codice:
perl -e 'for my $i (1..50) { my $f = "statistics.$i"; print ($i > 1 ? ";" : ""), (-f "$f" ? "$f" : " ") }
print "\n"'
Il "se? Allora: altrimenti" costruire è un po 'difficile da risolvere in un primo tempo, ma piuttosto per semplice logica, una volta capito come funziona.
  #5 (permalink)  
Old 04-26-2008
ripat ripat is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: ottobre 2006
Posizione: Belgio
Interventi: 438
Un'altra soluzione bash:

Codice:
#!/bin/bash

for nbr in $(seq 50); do
    if [ ! -e "statistics.$nbr" ]; then echo "statistics.$nbr is missing"; fi
done
Per la one-liners fanatici:
Codice:
for nbr in $(seq 50); do if [ ! -e "statistics.$nbr" ]; then echo "statistics.$nbr is missing"; fi; done
  #6 (permalink)  
Old 04-26-2008
epoca era is offline Forum Advisor  
Herder di Inutile Gatti (Su sabbatico)
  
 

Iscriviti Data: marzo 2008
Ubicazione: / ci / è / solo / bin / sh
Interventi: 3.652
La corretta fanatici forse preferiscono

Codice:
for n in $(seq 50); do [ -e statistics.$n ] || echo statistics.$n is missing; done
successivi non è universale, che è il motivo per cui ho iniziato con Perl, Ma se si dispone di esso, è ottimo per questo tipo di lavoro.
  #7 (permalink)  
Old 04-27-2008
gholdbhurg gholdbhurg is offline
Utente Registrato
  
 

Iscriviti Data: ottobre 2007
Interventi: 26
Purtroppo, la ss doesnt lavoro
seguenti: comando non trovato

Qualsiasi altra unix scripting linee possibile?
Btw, I'm using ksh. Grazie!
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 11:54 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0