The UNIX and Linux Forums  


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
rimuovendo i duplicati stevie_velvet Shell scripting e di programmazione 5 07-07-2008 08:42 AM
rimozione zero iniziale risshanth UNIX for Dummies Domande & Risposte 0 02-08-2008 06:51 AM
rimuovendo i duplicati e tipo-k orahi001 UNIX for Dummies Domande & Risposte 3 01-25-2008 09:59 AM
Strippaggio principali spazi sulla destra giustificato nome Marcia P UNIX for Dummies Domande & Risposte 2 02-28-2006 10:32 PM
Rimozione di duplicati giannicello Shell scripting e di programmazione 12 09-14-2005 07:12 PM

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 03-18-2009
crazyhpux crazyhpux is offline
Utente Registrato
  
 

Iscriviti Data: marzo 2009
Interventi: 14
Aggiunta di Leading Zero con giustezza a destra e rimozione di duplicati

Ciao a tutti. Spero che qualcuno mi può aiutare qui. Ho 2 file. Ecco come si presenta:

File 1:

abc1, defg, 50.00, MNO, 990
ABC2, gatti, 100,00, POP, 991
abc3, cani, 1.00, trattare, 992


Fascicolo 2:

990, aerei, pista, il medico
991, getti, gli uccelli, molto
990, * aeroplani, pista, il medico
992, automobili, Ford, Toyota

Ecco cosa vorrei fare:

1. Nel file 1, colonna 3, l'importo, vorrei che fosse giustificato a destra con lo zero

2. Nel file 2, tutte le necessità di duplicare essere rimossi. Come la 990, * aerei

3. Dopo il file 1 e 2 sono fatto, poi uniteli usando la chiave nella colonna 5 file 1 e colonna 1 nel file 2.

Se avete bisogno di maggiori chiarimenti, fammi sapere. Lo apprezzo molto, se qualcuno può darmi una mano. Grazie.
  #2 (permalink)  
Old 03-18-2009
crazyhpux crazyhpux is offline
Utente Registrato
  
 

Iscriviti Data: marzo 2009
Interventi: 14
tra l'altro, il file finale sarebbe qualcosa di simile a questa:

abc1, defg, 000.050,00, MNO, 990, aerei, pista, il medico
ABC2, gatti, 000.100,00, POP, 991, getti, gli uccelli, molto
abc3, cani, 000.001,00, trattare, 992, auto, Ford, Toyota

per il numero 3, mi assumerebbe utilizzare il comando di join?
  #3 (permalink)  
Old 03-18-2009
vidyadhar85's Avatar
vidyadhar85 vidyadhar85 is online now Forum Staff  
Moderatore (tutor)
  
 

Iscriviti Data: giugno 2008
Ubicazione: INDIA
Messaggi: 1.414
Citazione:
Originalmente inviato da crazyhpux View Post
tra l'altro, il file finale sarebbe qualcosa di simile a questa:

abc1, defg, 000.050,00, MNO, 990, aerei, pista, il medico
ABC2, gatti, 000.100,00, POP, 991, getti, gli uccelli, molto
abc3, cani, 000.001,00, trattare, 992, auto, Ford, Toyota

per il numero 3, mi assumerebbe utilizzare il comando di join?
il primo file possono essere organizzati in questo modo

Codice:
 
awk -F, '{printf "%s,%s,%09.2f,%s,%s\n",$1,$2,$3,$4,$5}' filename

  #4 (permalink)  
Old 03-18-2009
summer_cherry summer_cherry is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: giugno 2007
Ubicazione: Pechino Cina
Messaggi: 1.092
Ciao, spero di seguito vi può aiutare.
Ma in realtà non so quante più '0 'ti aspetti.


Codice:
awk -F"," '{
        if(_[$1]==0){
                _[$1]=1
                print $0
        }
}' a > t1
join -t"," -11 -25 t1 b

  #5 (permalink)  
Old 03-19-2009
crazyhpux crazyhpux is offline
Utente Registrato
  
 

Iscriviti Data: marzo 2009
Interventi: 14
Citazione:
Originalmente inviato da summer_cherry View Post
Ciao, spero di seguito vi può aiutare.
Ma in realtà non so quante più '0 'ti aspetti.


Codice:
awk -F"," '{
        if(_[$1]==0){
                _[$1]=1
                print $0
        }
}' a > t1
join -t"," -11 -25 t1 b
la ringrazio per la risposta finora. Il campo sarà il 9 cifre. Quindi, può variare il numero di posto sono pari a zero. Cercando di renderla simile a questa:

000000000
000000100
000000090
000001100
000012000

Le ultime 2 cifre rappresentano i centesimi. Esempio 5,50 saranno 000000550
  #6 (permalink)  
Old 03-19-2009
rikxik's Avatar
rikxik rikxik is offline
Utente Registrato
  
 

Iscriviti Data: dicembre 2007
Interventi: 250

Codice:
awk -F"," '{
        if(_[$1]==0){
                _[$1]=1
                print $0
        }
}' a > t1
join -t"," -11 -25 t1 b | nawk -F"," '$3=sprintf("%011.2f",$3);gsub(/\./,"",$3)'

  #7 (permalink)  
Old 03-20-2009
crazyhpux crazyhpux is offline
Utente Registrato
  
 

Iscriviti Data: marzo 2009
Interventi: 14
Citazione:
Originalmente inviato da rikxik View Post
Codice:
awk -F"," '{
        if(_[$1]==0){
                _[$1]=1
                print $0
        }
}' a > t1
join -t"," -11 -25 t1 b | nawk -F"," '$3=sprintf("%011.2f",$3);gsub(/\./,"",$3)'
saresti così gentile da spiegare il codice un po 'per me. Grazie per il vostro aiuto.
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 è 03:24 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