The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
erstatte et felt i en CSV-fil prvnrk Shell programmering og Skripting 2 11-12-2008 08:51
erstatte ett felt ut av 60 ajp7701 Shell programmering og Skripting 2 04-21-2008 08:17
Erstatt-feltet i csv pcboss Linux 4 01-19-2008 06:24
Erstatt passordfeltet bruker ed / sed Munch UNIX for Dummies Spørsmål og svar 6 05-01-2007 12:01
Erstatt 10nde Felt av 2 PradeepRed Shell programmering og Skripting 2 01-19-2006 03:46

Reply
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 denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 06-03-2009
VGR VGR is offline
Registrert bruker
  
 

Bli Date: Mar 2008
Beliggenhet: Kolkata
Innlegg: 34
awk å erstatte bestemt felt

Jeg har dårlige data for eksempel bruk av store bokstaver i midten av ordet.
Jeg identifiserte feil, laget en oversikt og legg den i en fil error_correction.txt
Feil, Riktig
Venom, Venom
nos, NOS
.
.
.



Mine data filen ser slik ut:
vgr, bugatti veron, 3.5, Venom, 6 ,.......,....
vgr, lamborgini, 3.5, nos, 6 ,.......,....
abc, bugatti veron, 3.5, Venom, 6 ,.......,.......
.
.
.
.

Jeg trenger å erstatte ord i en 5.-feltet med at fra filen.
Hvordan gjør jeg dette med awk?
  #2 (permalink)  
Old 06-03-2009
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Bli Dato: desember 2007
Sted: Hjemme i 17-tiden verdensmesteren Boston Celtics
Innlegg: 1311
Wink Et eksempel for å komme i gang ...


Code:
> echo "867 5309 VerNOM 1234 Abcd"
867 5309 VerNOM 1234 Abcd

> echo "867 5309 VerNOM 1234 Abcd" | awk -v v1="VerNOM" -v v2="Vernom" '{gsub(v1,v2,$3);print}'
867 5309 Vernom 1234 Abcd

  #3 (permalink)  
Old 06-04-2009
VGR VGR is offline
Registrert bruker
  
 

Bli Date: Mar 2008
Beliggenhet: Kolkata
Innlegg: 34
Takk Joeyg ...
Jeg var ikke rolig sikker på hvordan du trekker opp verdier fra en annen fil fra inni awk!
Hvordan bruker jeg en esel. array [nummerverdien] innsiden awk?
  #4 (permalink)  
Old 06-04-2009
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Bli Date: Feb 2007
Innlegg: 4345
Prøv dette:


Code:
awk -F, '
NR==FNR{a[$1]=$2;next}
a[$5]{$5=a[$5]}
1' error_correction.txt datafile

Hilsen
  #5 (permalink)  
Old 06-04-2009
VGR VGR is offline
Registrert bruker
  
 

Bli Date: Mar 2008
Beliggenhet: Kolkata
Innlegg: 34
im ikke stille sikker hvorfor dette skjer ...
verdien endringer innenfor loopen men ikke blir lagret i filen!
  #6 (permalink)  
Old 06-04-2009
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Bli Date: Feb 2007
Innlegg: 4345
Filen kan ikke redigeres "på plass" med awk. Omdiriger utdataene til en midlertidig fil og erstatte den opprinnelige filen med det.


Code:
awk '<commands>' error_correction.txt datafile > tempfile
mv tempfile datafile

  #7 (permalink)  
Old 06-04-2009
VGR VGR is offline
Registrert bruker
  
 

Bli Date: Mar 2008
Beliggenhet: Kolkata
Innlegg: 34
kult ...
awesome stuff
takk en ton mann ....
Reply

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 03:49.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0