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
ksh scripting hjälp praveenbvarrier Shell-programmering och Skript 1 04-15-2008 10:19
sql scripting hjälp sam786 Shell-programmering och Skript 3 12-10-2007 12:31
Skillnaden mellan AIX shell scripting och Unix shell scripting. haroonec Shell-programmering och Skript 2 04-12-2006 08:12
scripting guru's pls hjälpa mig med scripting på AIX thatiprashant Shell-programmering och Skript 1 01-20-2006 07:58
Skript? woofie Vad tänker du på? 1 03-09-2005 07:03

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 05-09-2008
NORDBO Northerner is offline
Registered User
  
 

Join Date: maj 2008
Ort: Sheffield
Inlägg: 11
Hjälp med scripting

Jag har 2 filer med gemensamma parm - Jobname

Akt 1
0507 1202 JOBA
0507 1302 Jobb
0507 1452 JOBC
0507 1552 JOBA
0507 1553 JOBA

Fil2

JOBA abcdefg server4
Jobb defghij server22
JOBC vwxyz12 server55

Jag skulle vilja ta varje linje från fil1 och matcha jobname med jobname i Fil 2 och producera Arkiv 3 som

0507 1202 JOBA abcdefg server4
0507 1302 Jobb defghij server22
0507 1452 JOBC vwxyz12 server55
0507 1552 JOBA abcdefg server4
0507 1553 JOBA abcdefg server4

Kan någon hjälpa snälla, jag är ny för manus.
  #2 (permalänk)  
Old 05-09-2008
aju_kup aju_kup is offline
Registered User
  
 

Join Date: Jul 2006
Inlägg: 189
Kod:
nawk 'NR == FNR{rec[$1] = $2" " $3; next}

{ print $0 " " rec[$3]}

' 64491_merge1.d 64491_merge.d
output

Kod:
0507 1202 JOBA abcdefg server4
0507 1302 JOBB defghij server22
0507 1452 JOBC vwxyz12 server55
0507 1552 JOBA abcdefg server4
0507 1553 JOBA abcdefg server4
  #3 (permalänk)  
Old 05-09-2008
NORDBO Northerner is offline
Registered User
  
 

Join Date: maj 2008
Ort: Sheffield
Inlägg: 11
Talking

Brilliant Tack så mycket!
  #4 (permalänk)  
Old 05-09-2008
radoulov's Avatar
radoulov radoulov is online now Forum Staff  
missbrukare
  
 

Join Date: Jan 2007
Ort: Варна, България / Milano, Italia
Inlägg: 2853
Ytterligare ett:
(använd nawk eller / usr/xpg4/bin/awk på Solaris)

Kod:
awk 'NR==FNR{x[$1]=$0;next}$NF=x[$NF]' file2 file1
  #5 (permalänk)  
Old 05-12-2008
NORDBO Northerner is offline
Registered User
  
 

Join Date: maj 2008
Ort: Sheffield
Inlägg: 11
Har testat detta på enkla filer jag förutsatt att det verkar det inte fungerar på mer komplexförening filer. Den första akten har 6 fält separerade med blanksteg

Fil1

LVTS4687 LVTSHPLON ltreb_shu1l110 LVTS4687 LVTSHPLON shu1l110
LVTS1457 LVTSHP sy_unix_live_rooma_onsite_35_35 LVTS1457 LVTSHP syhp10
LVTS5035 LVTSHP sy_unix_live_dmz_duplex_15_35 LVTS5035 LVTSHP srublae03-MGT
LVTS1786 LVTSHPLON lmurb_shu1l282 LVTS1786 LVTSHPLON shu1l282-sy
LVTS5431 LVTSHPLON lmurb_shu1l282 LVTS5431 LVTSHPLON shu1l282-sy
LVTS5750 LVTSHP nw_unix_live_dmz_duplex_35_35 LVTS5750 LVTSHP NRUCCAE09-MGT
LVTS5430 LVTSHP nw_unix_live_dmz_duplex_15_35 LVTS5430 LVTSHP nwhp3
LVTS4021 LVTSHP nw_unix_live_phase4_duplex_35_90 LVTS4021 LVTSHP nhu1u282

Den andra filen har 5 fält
Arkiv 2
0508 0601 LVTS4687 58 1
0509 0108 LVTS4687 58 1
0509 0108 LVTS4687 58 1
0509 0108 LVTS4687 58 1
0508 2206 LVTS5035 98 1
0508 2206 LVTS5035 98 1
0508 2206 LVTS5035 98 1
0508 2206 LVTS5430 98 1
0508 2206 LVTS5430 98 1
0508 2206 LVTS5430 98 1
0508 2206 LVTS5431 98 1
0508 2206 LVTS5431 98 1
0508 2206 LVTS5431 98 1
0506 0920 LVTS5750 141 3
0506 0920 LVTS5750 141 3
0506 0920 LVTS5750 141 3
0506 0920 LVTS5750 141 3
0506 0920 LVTS5750 141 3
0506 0920 LVTS5750 141 3


och resultatet skulle behöva se ut

Fil3
0508 0601 LVTS4687 58 1 ltreb_shu1l110 shu1l110
0509 0108 LVTS4687 58 1 ltreb_shu1l110 shu1l110
0509 0108 LVTS4687 58 1 ltreb_shu1l110 shu1l110
0509 0108 LVTS4687 58 1 ltreb_shu1l110 shu1l110
0508 2206 LVTS5035 98 1 sy_unix_live_dmz_duplex_15_35 srublae03-MGT
0508 2206 LVTS5035 98 1 sy_unix_live_dmz_duplex_15_35 srublae03-MGT
0508 2206 LVTS5035 98 1 sy_unix_live_dmz_duplex_15_35 srublae03-MGT
0508 2206 LVTS5430 98 1 nw_unix_live_dmz_duplex_15_35 nwhp3
0508 2206 LVTS5430 98 1 nw_unix_live_dmz_duplex_15_35 nwhp3
0508 2206 LVTS5430 98 1 nw_unix_live_dmz_duplex_15_35 nwhp3
0508 2206 LVTS5431 98 1 lmurb_shu1l282 shu1l282-sy
0508 2206 LVTS5431 98 1 lmurb_shu1l282 shu1l282-sy
0508 2206 LVTS5431 98 1 lmurb_shu1l282 shu1l282-sy
0506 0920 LVTS5750 141 3 nw_unix_live_dmz_duplex_35_35 NRUCCAE09-MGT
0506 0920 LVTS5750 141 3 nw_unix_live_dmz_duplex_35_35 NRUCCAE09-MGT
0506 0920 LVTS5750 141 3 nw_unix_live_dmz_duplex_35_35 NRUCCAE09-MGT
0506 0920 LVTS5750 141 3 nw_unix_live_dmz_duplex_35_35 NRUCCAE09-MGT
0506 0920 LVTS5750 141 3 nw_unix_live_dmz_duplex_35_35 NRUCCAE09-MGT
0506 0920 LVTS5750 141 3 nw_unix_live_dmz_duplex_35_35 NRUCCAE09-MGT


filen består av området 1 2 3 4 5 för fil2 och område 3 och 6 i fil1
  #6 (permalänk)  
Old 05-12-2008
radoulov's Avatar
radoulov radoulov is online now Forum Staff  
missbrukare
  
 

Join Date: Jan 2007
Ort: Варна, България / Milano, Italia
Inlägg: 2853
Det verkar ganska lätt, har du försöka anpassa koden själv?

Kod:
awk 'NR==FNR{_[$1]=$3 FS $6;next}$NF=$NF _[$3]' file1 file2>file3
  #7 (permalänk)  
Old 05-12-2008
aju_kup aju_kup is offline
Registered User
  
 

Join Date: Jul 2006
Inlägg: 189
HTML-kod:
Now your format is different then earlier
Closed Thread

Komihåglista

Taggar
Solaris

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 02:00.


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