![]() |
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.
|
|
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 |
| Comunicati di sviluppo: Linux Mint 4.0 Beta "Fluxbox", 4.0 Alpha "Debian" | iBot | UNIX e Linux RSS News | 0 | 01-04-2008 03:00 PM |
| Spiegare la linea "mn_code \u003d` env | grep ".. mn" | awk-F "\u003d" '(print $ 2)' `" | Lokesha | UNIX for Dummies Domande & Risposte | 4 | 12-20-2007 01:52 AM |
| N. utpmx ingresso: è necessario eseguire la voce "login" dal livello più basso "guscio" | peterpan | UNIX for Dummies Domande & Risposte | 0 | 01-18-2006 04:15 AM |
| Trova-name "*. txt" in Korn Shell Script | jwperry | Shell scripting e di programmazione | 3 | 07-19-2002 01:51 PM |
| Korn shell di "selezionare" comando | mpegler | Shell scripting e di programmazione | 2 | 06-23-2002 10:41 PM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
Korn shell "loop e array"
Salve,
Sto cercando di scrivere uno script che verrà eseguito il ciclo fino a quando una determinata azione è stata eseguita. Ho due file vorrei confronta. Ad esempio: file1 è un elenco di ID utente (circa 900) dalla società e-mail del server. file2 è un elenco di ID utente (circa 50 o così) da / etc / passwd. Ho file1 in un array, vorrei avere file2 in un ciclo. Quando l'id partite sarà reindirizzato l'output a / dev / null, ma quando i due ids non corrispondono, ho bisogno di reindirizzato l'output in file3. Questo è quindi possibile eliminare l'utente che si sono trasferiti su. Questa è stata la mia 1a prova. #! / usr / bin / ksh Un set-array file1 for i in $ (array [@]) fare echo $ i "\u003d\u003d\u003d\u003d vs file2 \u003d\u003d\u003d\u003d" $ i diff file2 fatto> file3 ------------------------------------------ e la mia 2a prova. #! / usr / bin / ksh egrep-se file2 file1> tmp_name egrep-ivf tmp_name file2> file3 rm tmp_name ------------------------------------------- e poi: #! / usr / bin / ksh mentre leggere il nome utente fare mentre leggere file2 fare if [ '$ file1' \u003d '$ file2']; poi altro se fatto <file2 fatto <file1 |
|
||||
|
I guess I don't know what it is.
il mio pensiero di un array è stato un modo per utilizzare più valori per un nome di variabile. bene, ho voluto utilizzare il codice di lettura 2 file (liste) e utilizzando le variabili in una condizione base per la stampa di un messaggio. (non andare oltre, a causa di cross-posting). ok, quindi in questa parte: Codice:
i=0
exec < file1
while read array[i] ; do
((i=i+1))
done
La mia confusione è con questa parte: Codice:
exec <file2
while read entry ; do
i=0
found=0
while ((i<${#array[@]})) ; do
if [[ $entry = ${array[i]} ]] ; then
found=1
break
((i=i+1))
fi
done
if ((found)) ; then
echo $entry is in file1
else
echo $entry is not in file1
fi
done
Sta dicendo fare .. mentre "i" è inferiore al valore di array [@]? Grazie per ogni ingresso. |
![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|