![]() |
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 |
| Sed Guida in Aggiornamento qualcosa solo in un particolare file. | bisla.yogender | Shell scripting e di programmazione | 4 | 03-24-2008 11:48 AM |
| Per sapere se è il file di aggiornamento o di non | raj333 | Shell scripting e di programmazione | 2 | 11-05-2007 05:29 PM |
| Aggiornare il file in rete | braindrain | Shell scripting e di programmazione | 4 | 06-20-2007 01:37 PM |
| Perché il mio sar non è l'aggiornamento del file di output. | skneeli | UNIX e avanzata per utenti esperti | 1 | 11-12-2006 08:29 PM |
| Aggiornare un file in un archivio ZIP | dbridle | AIX | 6 | 09-27-2006 03:29 PM |
|
|
LinkBack | Thread Tools | Cerca in questo Thread | Rate Thread | Modalità di visualizzazione |
|
||||
|
awk aggiornare un file con un altro, il confronto, l'aggiornamento
Ciao,
Ho letto e di ricerca attraverso questo meraviglioso forum e tentato approcci diversi ma sembra che mi manca un po 'di conoscenza e di neuroni ^ ^ Ecco quello che sto cercando di realizzare: file1: prova Filea 3495; prova fileb 4578; prova filec 7689; prova Filey 9978; prova Filez 12300; file2: prova Filea 3495; prova depositata 4578; prova filec 7689; prova filex 8978; risultati: prova Filea 3495; prova depositata 4578; prova filec 7689; prova filex 8978; prova Filey 9978; prova Filez 12300; confronto sulla base di ultimo campo (campo $ 3), di nuovi contenuti da file2 (qui il contenuto con "chiave" 8978 è nuovo) dovrebbe essere aggiunto al risultato finale e il contenuto che è diversa in file2 (prova depositata 4578; qui) dovrebbe sostituire uno file1 . qui è dove sono io adesso: awk 'NF ($ key \u003d NF; i tasti [key] + +) (NR \u003d\u003d FNR Key1 [chiave] \u003d $ NF ORS; rec1 [chiave] \u003d $ ORS 0;) (prossimo Key2 [chiave] \u003d $ NF ORS; rec2 [key] \u003d $ ORS 0;) accanto FINE (for (k in chiavi) (if (Key1 [k] \u003d\u003d Key2 [k]) (print rec2 [k]) else (print rec1 [k]))) ' file1 $ $ file2> $ file1.updated per una migliore leggibilità: awk ' NF ( key \u003d $ NF; tasti [key] + + ) NR \u003d\u003d FNR ( Key1 [chiave] \u003d $ NF ORS; rec1 [key] \u003d $ 0 ORS; successivo ) ( Key2 [key] \u003d $ NF ORS; rec2 [key] \u003d $ 0 ORS; successivo ) FINE ( for (k in chiavi) ( if (Key1 [k] \u003d\u003d Key2 [k]) ( stampa rec2 [k] ) altro ( stampa rec1 [k] ) ) ) ' file1 $ $ file2> $ file1.updated ma .. questo non funziona bene: / |
| Segnalibri |
| Tag |
| solaris |
| Thread Tools | Cerca in questo Thread |
| Modalità di visualizzazione | Vota questo thread |
|
|