![]() |
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 |
| UNIX e avanzata per utenti esperti Expert-to-Expert. Ulteriori avanzata UNIX, comandi UNIX, Linux, Sistemi Operativi, System Administration, Programmazione, Shell, Shell Script, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
Più di UNIX e Linux Forum Argomenti potreste trovare utili
|
||||
| Filo | Thread Starter | Forum | Risposte | Ultimo Post |
| ftp controllo | ust | Shell scripting e di programmazione | 0 | 07-10-2008 03:30 AM |
| Ksh Verifica se stringa dispone di 2 caratteri e non contiene cifre? | developncode | UNIX for Dummies Domande & Risposte | 1 | 04-08-2008 04:19 PM |
| EOF sotto controllo | ramkrix | Di programmazione ad alto livello | 10 | 03-11-2008 01:43 AM |
| Controllo di PXE | maestro @ Altiris | SUN Solaris | 5 | 05-25-2004 01:06 AM |
![]() |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
|
|
||||
|
Verifica di alcuni caratteri
Potrebbe aiutare chiunque con la seguente richiesta .. Ho un file nel seguente formato:
ID .... VALORE A001 .... 100 B002 .... 200 A004 .... 300 B006 .... 100 A997 .... 200 B776 .... 400 E 'formato in una colonna, ma voglio verificare che il campo ID inizia sempre con con A o B e questo è il mio carattere logica finora: Se Carattere 1 NON parità di A o B allora visualizzare messaggio di errore altro continuare a fare quello che vuoi fi non certo come chech che 1 carattere di ogni riga non è uguale A o B habe cercato seguente senza alcun Joi Se [! grep '^ A' $ file | |! grep '^ B' $ file] e poi print "errore" altro print "funziona" fi ma il lavoro di cui sopra non credo che la logica, come la mia comprensione unix non grande, si prega di assistere. |
|
||||
|
BTW, si potrebbe anche bypassare questa messa in uno script.
Codice:
awk '/(^A)|(^B)/ {num++} END {if(num > 0);printf("%d instances of A,B exist\n", num);}' column
|
|
||||
|
Ok sopra solo dirmi quante volte A o B in cui vi. I necessario per inviare un messaggio di errore se esiste un C o altrimenti l'ammenda di continuare il trattamento di file .. speranza che rende più senso
|
|
||||
|
Il file di input:
Codice:
$ cat ttt ID .... VALUE ------------- A001 .... 100 C003 .... 800 B002 .... 200 corrupt data A004 .... 300 C003 .... 800 foo .... bar Codice:
#!/bin/ksh
INPUT=ttt
{ while read LINE
do
echo $LINE |egrep "^A|^B" > /dev/null 2>&1
if [ $? -eq 0 ]
then
echo "Processing $LINE"
else
echo "Skipping $LINE"
fi
done } < $INPUT
Codice:
$ ./ttt.ksh Skipping ID .... VALUE Skipping ------------- Processing A001 .... 100 Skipping C003 .... 800 Processing B002 .... 200 Skipping corrupt Skipping data Processing A004 .... 300 Skipping C003 .... 800 Skipping foo .... bar Facci sapere se hai bisogno di qualcosa nello script spiegato. |
![]() |
| Segnalibri |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|