The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Læsning af Array Element i Unix ravi_rn Shell Programmering og Scripting 2 12-30-2008 02:48 PM
Læsning fra mens loop i et array ssuresh1999 UNIX for dummyer Spørgsmål & svar 2 08-12-2008 12:53 PM
kombinere felter i to tekstfelter shocker Shell Programmering og Scripting 3 01-16-2008 11:27 AM
split varibles og opbevare felter i råtanken varible array gratus Shell Programmering og Scripting 3 10-11-2007 03:50 PM
Læsning af data i muti-dimentional array - i perl zappe Shell Programmering og Scripting 5 05-04-2004 11:15 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 Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 04-22-2009
Pinnacle pinnacle is offline
Registreret Bruger
  
 

Join Date: Apr 2009
Posts: 182
awk læsning mange områder til array

Jeg vil læse $ 3, $ 4, $ 5, $ 6, $ 7 fileA i rækken, og når
fileb $ 1 \u003d fileA $ 4
Det jeg ønsker at udskrive array og få felter fra fileB.

Dette skulle arbejde, men har nogle syntaksfejl.

Code:
nawk -F, 'FNR==NR{a[$1]=[$3,$4,$5,$6,$7];next} a[$4]{print a[$4,$1,$2,$3]}' fileB fileA

Sætter pris på, hvis nogen kan rette dette.
  #2 (permalink)  
Old 04-22-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderator
  
 

Join Date: Feb 2005
Beliggenhed: Boston, MA
Indlæg: 5.122
Siger "nogle få felter fra filen B 'betyder områder 1, 3 og 5
Code:
nawk -F, 'FNR==NR{a[$4]= $3 OFS $4 OFS $5 OFS $6 OFS $7;next} $1 in a{print a[$4] OFS $1 OFS $3 OFS $5}' OFS=, fileA fileB
  #3 (permalink)  
Old 04-22-2009
Pinnacle pinnacle is offline
Registreret Bruger
  
 

Join Date: Apr 2009
Posts: 182
Citat:
Oprindeligt Indsendt af vgersh99 View Post
Siger "nogle få felter fra filen B 'betyder områder 1, 3 og 5
Code:
nawk -F, 'FNR==NR{a[$4]= $3 OFS $4 OFS $5 OFS $6 OFS $7;next} $1 in a{print a[$4] OFS $1 OFS $3 OFS $5}' OFS=, fileA fileB

Dens giver forkerte resultater, og jeg regnede det ud:
Det er på grund af to eksemplarer i felt 4 i fileA og $ 1 felt i fileB vil også have dubletter.

Siger vel fil A i 4. felt har 2 gange
ABC
ABC


Og fileB i 1. felt har 7 gange
ABC
ABC
ABC
ABC
ABC
ABC
ABC
Derfor min output fil skal have 14 gange ABC
Men jeg får ABC kun 7 gange.

Værdsætte hjælpe
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 06:32 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0