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
Ändra en kolumn i avgränsad fil kolumnen till fast bredd kolumn manneni Prakash Shell-programmering och Skript 5 06-22-2009 05:27
två files.say en och b.both har länge columns.i vill matcha kolumnen Fron 1:a fil w TRUPTI UNIX for Dummies Frågor & Svar 4 10-17-2008 01:17
Sätt första raden i en fil till första kolumnen av återstående filer a_artha Shell-programmering och Skript 5 07-28-2008 05:47
Så kontrollerar du Null värden i en fil kolumn efter kolumn om kolumnerna är inte NULLs Mandab Shell-programmering och Skript 7 03-15-2008 09:57
ansluta cols från flera filer till en fil vbshuru Shell-programmering och Skript 2 11-20-2003 12:52

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 denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 06-30-2009
bigsmile bigsmile is offline
Registered User
  
 

Join Date: juni 2009
Inlägg: 4
Question Delta 3 filer med viktiga kolumnen i en kartläggning fil

Jag är ny i UNIX shell scripting. Jag är nyligen skapa en Excel rapport i UNIX (fil som skiljetecken är bra). Hur ska jag göra ett skript för att göra det?

1 fil att ansluta sig kommer från produktion av ett UNIX-kommando, den andra från en annan UNIX-kommando, och den tredje från en databas fråga. Nyckeln columes av alla dessa 3 filer kommer från en kartläggning fil. Det är i grunden enligt följande:

MappingFile:
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
jobb 1 a_name1
jobb 2 c_name2
jobb 3 b_name3
jobb 4 e_name4

file1_toJOIN:
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
b_name3 12:00:03 15:00:09
e_name4 10:30:00 11:00:00
c_name2 09:40:00 10:12:00
a_name1 22:00:00 23:00:00

file2_toJOIN:
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
jobb 2 tom 22
jobb 1 dan 18
jobb 4 jim 25
jobb 3 kim 20

det kalkylprogram att generera:
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
jobb 1 22:00:00 23:00:00 01:00:00 dan 18
......

Uppskattar din hjälp!
  #2 (permalänk)  
Old 07-01-2009
prasperl prasperl is offline
Registered User
  
 

Join Date: juni 2009
Inlägg: 22
Prova detta!

Prova

för i "katt karta | awk 'BEGIN (FS \u003d" "), (print $ 1)'`
göra
mapkey1 \u003d $ i
mapkey2 \u003d `cat map | grep $ mapkey1`
mapkey2 \u003d `echo $ mapkey2 | awk 'BEGIN (FS \u003d" "), (print $ 2)'`
file1key \u003d `cat fil1 | grep $ mapkey2`
file1key \u003d `echo $ file1key | awk 'BEGIN (FS \u003d" "), (print $ 2, $ 3)'`
file2key \u003d `cat fil2 | grep $ mapkey1`
file2key \u003d `echo $ file2key | awk 'BEGIN (FS \u003d" "), (print $ 2, $ 3)'`
echo $ i $ file1key $ file2key
gjord


karta - din karta fil
fil1 - din file1_toJOIN
fil2 - file2_toJOIN:

O / pi fått är:
jobb 1 22:00:00 23:00:00 dan 18
jobb 2 09:40:00 10:12:00 tom 22
jobb 3 12:00:03 15:00:09 kim 20
jobb 4 10:30:00 11:00:00 jim 25
  #3 (permalänk)  
Old 07-01-2009
summer_cherry summer_cherry is offline Forum Advisor  
Registered User
  
 

Join Date: juni 2007
Plats: Beijing Kina
Inlägg: 1.079
Kod:
nawk 'NR==FNR{
arr[$1]=$2
brr[$2]=$1
}
NR!=FNR{
	if (arr[$1]=="")
		brr[$1]=sprintf("%s %s",$2,$3)
	else
		print $1" "brr[arr[$1]]" "$2" "$3
}' map file1 file2
  #4 (permalänk)  
Old 07-02-2009
bigsmile bigsmile is offline
Registered User
  
 

Join Date: juni 2009
Inlägg: 4
Smile Join 3 filer med nyckel colume i en kartläggning fil

Uppskattar er båda.

Jag har provat första skriptet. Det fungerar perfekt. Jag känner lite svårt att förstå array, som ett shell script nybörjare. Men jag ska försöka i morgon, som det ser verkligen kompakt. Jag vill använda i framtiden.
  #5 (permalänk)  
Old 07-03-2009
prasperl prasperl is offline
Registered User
  
 

Join Date: juni 2009
Inlägg: 22
Med kommentarer för bättre förståelse

# Öppna filen
för i "katt karta | awk 'BEGIN (FS \u003d" "), (print $ 1)'`
göra

# Kolumn1 i kartan fil är nyckeln till fil2
mapkey1 \u003d $ i

mapkey2 \u003d `cat map | grep $ mapkey1`

# Kolumn2 i kartan fil är nyckeln till file1

mapkey2 \u003d `echo $ mapkey2 | awk 'BEGIN (FS \u003d" "), (print $ 2)'`

# Val värden från fil1 baserad på mapkey2 från kartan fil
file1key \u003d `cat fil1 | grep $ mapkey2`
file1key \u003d `echo $ file1key | awk 'BEGIN (FS \u003d" "), (print $ 2, $ 3)'`

# Val värden från fil2 baserad på mapkey1 från kartan fil
file2key \u003d `cat fil2 | grep $ mapkey1`
file2key \u003d `echo $ file2key | awk 'BEGIN (FS \u003d" "), (print $ 2, $ 3)'`

# Diplay resultaten
echo $ i $ file1key $ file2key
gjord
  #6 (permalänk)  
Old 07-04-2009
bigsmile bigsmile is offline
Registered User
  
 

Join Date: juni 2009
Inlägg: 4
Tack, Prasperl.

Jag använde ksh, av någon anledning, det gav mig awk Syntex fel. Efter att jag bort fält seperator, låt mig igenom. Vill ni veta varför?
  #7 (permalänk)  
Old 07-05-2009
prasperl prasperl is offline
Registered User
  
 

Join Date: juni 2009
Inlägg: 22
Skulle ni kunna skicka koden u används och felmeddelandet?
Reply

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 04:37.


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