![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrati | Regole Forum | Collegamenti | Album | FAQ | Members List | Calendario | Ricerca | Today's Posts | Mark Forums Read |
| 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 |
| tftp risoluzione dei problemi | Bobby76 | UNIX for Dummies Domande & Risposte | 0 | 02-29-2008 09:44 AM |
| lettura da un file e passare come variabili e ignorare # nel file | konark | Shell scripting e di programmazione | 4 | 11-08-2007 03:55 AM |
| Lettura di un file e scrivere il nome del file a un file di parametri. | thebeginer | UNIX e avanzata per utenti esperti | 1 | 10-05-2007 05:38 PM |
| Leggere i nomi dei file da un file e di eseguire il relativo file di script di shell | anushilrai | Shell scripting e di programmazione | 4 | 03-10-2006 05:25 AM |
| Lettura di contenuti specifici a partire da un file e aggiungendo che in un altro file | dnicky | Shell scripting e di programmazione | 5 | 10-04-2005 06:45 AM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
Risoluzione dei problemi: la lettura di file scontro?
Ciao a tutti Sto cercando di capire un problema e ho avuto ieri era solo la speranza che ci si darmi il vostro parere al riguardo. Credo risolto il problema, ma mi sento ancora ignorante su alcune parti del comportamento ho potuto esperienza nello scenario seguente. Qui era la situazione (vecchia versione semplificata del codice): Codice:
for FILE in $INPUT_DIR ; do
grep -q $FILE $PROCESSED 2>&1
if [ $? != 0 ] ; then
echo $FILE >> $PROCESSED
else
continue
fi
SOURCE=`grep ^S $FILE | wc -l | awk '{print $1}'`
END_RCD=`grep ^E $FILE | wc -l | awk '{print $1}'`
if [ $SOURCE -ne $END_RCD ] ; then
echo "Error in $FILE: "$SOURCE" source keys detected, but "$END_RCD" end keys detected.
fi
done
Il contenuto del INPUT_DIR contenute un sacco di file, e ha riferito l'errore di cui sopra su uno di essi (SOURCE \u003d 1, END_RCD \u003d 0). Tuttavia, il file è stato ok, per quanto ho potuto vedere. I miei comandi rapidamente garantito sono state corrette e anche ri-corse lo script su tutto il file per ottenere un elenco definitivo ok come uno di uscita, in modo tale guardato strano a prima vista. Dopo qualche tempo di indagini ho finalmente trovato che ho avuto un sacco di n processi in esecuzione in background che chiama po 'di codice. Nonostante questo io inizialmente supposto questo script dovrebbe essere utilizzata solo una volta in esecuzione allo stesso tempo, in modo che il file elaborati dal mio processo (n), che rientrano in INPUT_DIR sarebbe l'aggiornamento del file ELABORAZIONE in modo da non avere raccolto da i prossimi inviti. Purtroppo per la mia teoria, la verità è che la sceneggiatura ha chiamato più volte nello stesso tempo (da diverse sessioni), la trasformazione in parallelo, con un file che è stato ELABORAZIONE non unico (si cominceranno a vedere ciò che può apparire come qui ). Quindi per riassumere, lo script qui sopra riportato un errore durante l'esecuzione del processo (n) per un file creato dal processo (n-1). Ora la situazione di cui sopra dovrebbe essere ancora ok fino a quando un file viene aperto una volta al momento, è solo che questo file viene controllato dal processo di sbagliato, ma il risultato rimane lo stesso. Quindi, ciò che a mio parere, è che il file su cui è riportato l'errore è stato aperto in due sessioni allo stesso tempo. Ho rimosso il file e adesso ELABORAZIONE eseguire lo script una volta dopo tutti i processi sono stati completati quindi non ho più alcun problema. L'unica cosa che ancora non capisco è il motivo per cui END_RCD ha 0. Poiché due sessioni diverse variabile buffer, non vedo come un potenziale scontro su un file di produrre un tale errore. Se qualcuno qui ha un credibile spiegazione, sarei molto felice di sapere.Molte grazie, Yann |
![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|