The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
ta bort dubbletter stevie_velvet Shell-programmering och Skript 5 07-07-2008 07:42
bort nolla risshanth UNIX for Dummies Frågor & Svar 0 02-08-2008 06:51
ta bort dubbletter och sortera-k orahi001 UNIX for Dummies Frågor & Svar 3 01-25-2008 09:59
Strippning ledande utrymmen på högerställda namn Marcia P UNIX for Dummies Frågor & Svar 2 02-28-2006 10:32
Ta bort dubbletter giannicello Shell-programmering och Skript 12 09-14-2005 06:12

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 Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 03-18-2009
crazyhpux crazyhpux is offline
Registered User
  
 

Join Date: mars 2009
Inlägg: 14
Lägga nolla med högerställda och ta bort dubbletter

Hej allihopa. Jag hoppas någon kan hjälpa mig här ute. Jag har 2 filer. Det ser ut så här:

Fil 1:

abc1, defg, 50,00, MNO, 990
abc2, katter, 100,00, POP, 991
abc3, hundar, 1.00, behandla, 992


Fil 2:

990, flygplan, banan, läkare
991, jetplan, fåglar, mycket
990, * flygplan, landningsbana, läkare
992, bilar, Ford, Toyota

Här är vad jag vill göra:

1. I fil 1, kolumn 3, belopp, skulle jag vilja att vara högerjusterade med inledande nolla

2. I fil 2, samtliga exemplar tas bort. Liksom 990, * flygplan

3. Efter fil 1 och 2 är gjort, gå med dem med hjälp av nyckeln i kolumn 5 i fil 1 och kolumn 1 i filen 2.

Om du behöver förtydligas, låt mig veta. Jag uppskattar det mycket om någon kan hjälpa mig ute. Tack.
  #2 (permalänk)  
Old 03-18-2009
crazyhpux crazyhpux is offline
Registered User
  
 

Join Date: mars 2009
Inlägg: 14
förresten, skulle den sista filen ungefär så här:

abc1, defg, 000.050,00, mno, 990, flygplan, banan, läkare
abc2, katter, 000.100,00, POP, 991, jetplan, fåglar, mycket
abc3, hundar, 000.001,00, behandla, 992, bilar, Ford, Toyota

för nummer 3, skulle jag antar att använda Join kommandot?
  #3 (permalänk)  
Old 03-18-2009
vidyadhar85's Avatar
vidyadhar85 vidyadhar85 is offline Forum Staff  
Moderator (The Tutor)
  
 

Join Date: juni 2008
Ort: INDIEN
Inlägg: 1390
Citat:
Ursprungligen postat av crazyhpux View Post
förresten, skulle den sista filen ungefär så här:

abc1, defg, 000.050,00, mno, 990, flygplan, banan, läkare
abc2, katter, 000.100,00, POP, 991, jetplan, fåglar, mycket
abc3, hundar, 000.001,00, behandla, 992, bilar, Ford, Toyota

för nummer 3, skulle jag antar att använda Join kommandot?
din första fil kan ordnas på detta sätt
Kod:
 
awk -F, '{printf "%s,%s,%09.2f,%s,%s\n",$1,$2,$3,$4,$5}' filename
  #4 (permalänk)  
Old 03-18-2009
summer_cherry summer_cherry is offline Forum Advisor  
Registered User
  
 

Join Date: juni 2007
Plats: Beijing Kina
Inlägg: 1.086
Hej, hoppas nedan kan hjälpa dig.
Men egentligen vet inte hur många ledande '0 'du förväntar dig.

Kod:
awk -F"," '{
        if(_[$1]==0){
                _[$1]=1
                print $0
        }
}' a > t1
join -t"," -11 -25 t1 b
  #5 (permalänk)  
Old 03-19-2009
crazyhpux crazyhpux is offline
Registered User
  
 

Join Date: mars 2009
Inlägg: 14
Citat:
Ursprungligen postat av summer_cherry View Post
Hej, hoppas nedan kan hjälpa dig.
Men egentligen vet inte hur många ledande '0 'du förväntar dig.

Kod:
awk -F"," '{
        if(_[$1]==0){
                _[$1]=1
                print $0
        }
}' a > t1
join -t"," -11 -25 t1 b
Tack för svaret hittills. Fältet kommer att vara 9 siffror. Så det kommer att variera på hur många noll finns plats. Försöker få det att se ut så här:

000000000
000000100
000000090
000001100
000012000

De 2 sista siffran representerar cent. Exempel 5,50 kommer att vara 000.000.550
  #6 (permalänk)  
Old 03-19-2009
rikxik's Avatar
rikxik rikxik is offline
Registered User
  
 

Join Date: Dec 2007
Inlägg: 250
Kod:
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 (permalänk)  
Old 03-20-2009
crazyhpux crazyhpux is offline
Registered User
  
 

Join Date: mars 2009
Inlägg: 14
Citat:
Ursprungligen postat av rikxik View Post
Kod:
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)'
skulle du vara så vänlig att förklara koden lite för mig. Tack för er hjälp.
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 06:48.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0