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 > UNIX for Dummies Domande & Risposte
.
google unix.com



UNIX for Dummies Domande & Risposte Se non sei sicuro dove pubblicare un UNIX o Linux domanda, posta da qui. Tutti i neofiti di Linux e UNIX benvenuto!

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
unire due linee quando la seconda linea contiene "DOLLARO USA" powah Shell scripting e di programmazione 2 10-21-2005 06:30 PM
Aiuto ~ ~ aderire e "multijoin" hyo77 Shell scripting e di programmazione 1 11-19-2003 01:20 AM

Closed Thread
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 02-02-2008
aismann aismann is offline
Utente Registrato
  
 

Iscriviti Data: aprile 2005
Interventi: 37
bisogno di aiuto per l'utilizzo di "aderire"

Cari esperti,

Ho urgente bisogno di sapere come partecipare a queste 2 file che corrispondono.

Ho un file che si presenta come
Citazione:
1-0-0060122450000
1-0-0060122450001
1-0-0060122450002
1-0-0060122450006
1-0-0060122450007
1-0-0060122450014
1-0-0060122450021
1-0-0060122450024
1-0-0060122450028
1-0-0060122450029
e un altro file che si presenta come
Citazione:
0060122000550
0060122000632
0060122001374
0060122004006
0060122004141
0060122004607
0060122011124
0060122014392
0060122014537
Ho disperato bisogno di sapere come far combaciare le 2 file utilizzando il secondo con "-" come separatore di campo. Ive stato tryong tutti i giorni che non potete calcolare fuori. Please help!

Sara
  #2 (permalink)  
Old 02-02-2008
H2OBoodle H2OBoodle is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2008
Interventi: 18
Due cose:

Io non ho mai usato aderire, in modo che stai andando, probabilmente per ottenere una migliore risposta da parte di qualcun altro.

Non ho trovato il problema dichiarazione molto chiara, e guardando i dati non ha aiutato molto. Sembra che non vi è alcuna comunanza tra i dati. Ad esempio, sono i primi commenti da parte dei due file suppone correlata?
1-0-0060122450000 0060122000550

Sono i numeri 00060122 quello che stai cercando di entrare su? Se sì, qual è l'output desiderato dopo sei?

In ogni caso, ho sperimentato un po 'di aderire e ha trovato che i risultati possano essere facilmente inviati tramite awk semplicemente stampare i campi necessari. Forse si dovrebbe approccio come questo.

Se pubblichi una descrizione più dettagliata di ciò che stai dopo che può aiutare.
  #3 (permalink)  
Old 02-02-2008
aismann aismann is offline
Utente Registrato
  
 

Iscriviti Data: aprile 2005
Interventi: 37
Mi spiace non è stato preciso.
I due file sono enormi, oltre 2 milioni di dischi ciascuno. Tuttavia, il formato è lo stesso. Unica differenza è che è un file aggiuntivo "1-0 -" o "1-1 -" o "1-3 -".

Im facendo un lungo cammino da taglio 1-4 caratteri e quindi utilizzando pasta e di partecipare di nuovo più tardi.

Apprezzare se potesse vorrei sapere come farlo utilizzando awk. Grazie!

SARA
  #4 (permalink)  
Old 02-02-2008
H2OBoodle H2OBoodle is offline
Utente Registrato
  
 

Iscriviti Data: gennaio 2008
Interventi: 18
Bene la mia ipotesi su ciò che si stava cercando di fare è stato male, così la mia soluzione non awk pan per me. Tuttavia mi ha dato un colpo con un breve script python davvero, e penso possa avere ciò di cui hai bisogno.

Per essere onesti, non è ancora, mi dia una chiara idea di quello che si voleva l'output per sembrare, quindi ecco quello che ho assunto. Se ho sbagliato, quindi dispiace, questo è il mio ultimo colpo.

Utilizzando le prime quattro righe di dati, credo che si desidera che la produzione:
0060122450000 2000550
0060122450001 2000632
0060122450002 2001374
0060122450006 2004006

Il primo numero è da file_a con i primi quattro caratteri tagliato fuori. Il secondo numero è il primo valore spogliato off.

Se questo è corretto, quindi ecco un super semplice script python per ottenere che per voi:

script di nome: foo.py

# Aprire il file di dati
fa \u003d open ( 'file_a', 'rb')
fb \u003d open ( 'file_b', 'rb')

# Vai attraverso il file riga per riga "stripping" appena fuori le parti
# Che si desidera conservare. Anche il capo striscia dalla fine.

per la linea in fa:
Bita \u003d linea [4]. lamelle ( '\ n')
tmpb \u003d fb.readline (). lamelle ( '\ n')
# Si potrebbe aggiungere un chk qui per garantire tmpb Bita partite. Devi avere a che fare qualche ulteriore taglio di se. Con milioni di record, I'd do it.
bitb \u003d tmpb [-7:]
Bita stampa, bitb

# Chiude i file
fa.close ()
fb.close ()

Eseguire lo script di questo tipo:
shellPrompt $ python foo.py

Lo script rende l'ipotesi che il vostro file di dati vengono associati correttamente, con le voci corrispondenti posizione saggia tutti fino in fondo. Se non sono, quindi questo non funzionerà senza modifiche. I vostri dati saranno sbagliato se i valori sono cambiati.

E infine, ci sono probabilmente più elegante guscio python o tecniche di farlo, ma funziona.

Buona fortuna.

Ultimo a cura di H2OBoodle; al 02/02/2008 08:18 AM.. Motivo: dare maggiori informazioni su come eseguire lo script, mettere in guardia sulla corruzione dei dati se i dati non allineati.
  #5 (permalink)  
Old 02-02-2008
vakharia Mahesh vakharia Mahesh is offline
Utente Registrato
  
 

Iscriviti Data: febbraio 2007
Interventi: 51
unire

Aismann
Will you pls rendere chiaro ciò che si vuole nel file di output? vedere per il successo
esecuzione di aderire commd si richiede il campo dovrebbe essere della stessa lunghezza
e ordinato nello stesso ordine. vale a dire se cifre -> sort-n e se alfabet
quindi -> sort-d. sia il modo che il file verrà ordinato in base allo stesso ordine
e per una più veloce (un po ') l'esecuzione, come tenere il campo e l'uso 1.
aderire -1 1 -2 1-t (il delimitatore se hai utilizzato uno)-O 1,1 1,2 1,3 file1
file 2> file di output. E il lavoro è fatto.

Gustare.
  #6 (permalink)  
Old 02-06-2008
aismann aismann is offline
Utente Registrato
  
 

Iscriviti Data: aprile 2005
Interventi: 37
Grazie h20boodle e Mahesh. Essi lavorano molto bene! Grazie ancora
Closed Thread

Segnalibri

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 è 06:24 PM.


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