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
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

 
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 06-09-2008
Mecano mecano is offline
Utente Registrato
  
 

Iscriviti Data: giugno 2008
Interventi: 4
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
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 è 09:29 AM.


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