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
Cons: Konfiguration görs genom att redigera text-baserade konfigureringsfil ... - Techworld.com iBot UNIX och Linux RSS Nyheter 0 10-09-2007 09:10
Extrahera data från en fil OOP UNIX for Dummies Frågor & Svar 0 07-31-2007 11:48
Extrahera data från xml-fil nishana Shell-programmering och Skript 3 07-13-2007 07:17
hur man kan infoga data i databasen bygger på textfil? forevercalz Shell-programmering och Skript 9 12-20-2005 11:40
få data från konfigureringsfil esham Shell-programmering och Skript 7 11-21-2005 12:24

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 08-09-2007
suparnbector suparnbector is offline
Registered User
  
 

Join Date: maj 2007
Inlägg: 13
Extrahera data från textfil som grundar sig på konfiguration anges i konfigureringsfil

Hej,

a:) Jag har konfigurationsfil med pattren
<Range Start no>, <Range slut no>, <Skriv poster som ska hämtas från de uppgifter file>, <name av filen för att lagra output>

t.ex.:

myfile.confg
9899000000,9899999999, DATA, b.dat
9899000000,9899999999, SMS, a.dat

b:) Uppbyggnad av mina data fil:
<nej>, <Skriv av Record>

t.ex.
maindatafile.dat
9899000000, SMS
9899000001, DATA
989.901, DATA

Nu vill jag extrahera poster från huvudfil
Skick
En kontroll av räckvidder och andra kommer att vara av posttyp definieras i konfigurationsfilen

Produktionen skall vilja:
Filnamn: >>>>> b.dat
9899000001, DATA

Likaså separata filer baserat på räckvidd och posttyp bör skapas.

Kan någon hjälpa till att få detta uppnås på bästa möjliga sätt ...

Tack på förhand

Senast redigerad av zazzybob; 08-09-2007 at 07:30.. Motivering: Funktionshindrade smilies
  #2 (permalänk)  
Old 08-09-2007
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
  
 

Join Date: februari 2006
Ort: Almería, Spanien
Inlägg: 393
Kolla här:

Kod:
>cat maindatafile.dat 
9899000000,SMS
989901,DATA
9899000001,DATA
9899001000,SMS
9899001001,DATA
Kod:
>cat myfile.confg 
9899000000,9899999999,DATA,b.dat
9899000000,9899999999,SMS,a.dat
Kod:
awk -F\, '
BEGIN {
FNR==NR} 
{
if ( NF == 2 )
   {
   i++
   ori[$2,i]=$1
   }
if ( NF == 4 )
   {
   ori[$3]
   if ($3 in ori)
      for(o=1;o<=i;o++)
         if ( ori[$3,o] > $1 && ori[$3,o] < $2 )
            printf("File Name :%s\n%s,%s\n",$4,ori[$3,o],$3)
   }
}' maindatafile.dat myfile.confg
File Name :b.dat
9899000001,DATA
File Name :b.dat
9899001001,DATA
File Name :a.dat
9899001000,SMS
  #3 (permalänk)  
Old 08-09-2007
suparnbector suparnbector is offline
Registered User
  
 

Join Date: maj 2007
Inlägg: 13
Extrahera data från textfil som grundar sig på konfiguration anges i konfigureringsfil

Hej Klashxx,

Thanx for lösningen, men utgången är inte så jag ville

output IAM letar efter är

a.dat fil sohuld innehålla alla poster i området definierats för sms-rekord typ


cat a.dat
9899000000, SMS
9899001000, SMS

Likaså

b.dat fil sohuld innehålla alla poster i området definierats för DATA posttyp

cat b.dat
9899000001, DATA
9899001001, DATA
  #4 (permalänk)  
Old 08-10-2007
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
  
 

Join Date: februari 2006
Ort: Almería, Spanien
Inlägg: 393
Bara en liten ändring:
[Quote \u003d Klashxx; 302131105] Check this:

Kod:
>cat maindatafile.dat 
9899000000,SMS
989901,DATA
9899000001,DATA
9899001000,SMS
9899001001,DATA
Kod:
>cat myfile.confg 
9899000000,9899999999,DATA,b.dat
9899000000,9899999999,SMS,a.dat
Kod:
awk -F\, '
BEGIN {
FNR==NR} 
{
if ( NF == 2 )
   {
   i++
   ori[$2,i]=$1
   }
if ( NF == 4 )
   {
   ori[$3]
   if ($3 in ori)
      for(o=1;o<=i;o++)
         if ( ori[$3,o] > $1 && ori[$3,o] < $2 )
               {
               if ( $3 == "SMS" )
                    print ori[$3,o]","$3>"a.dat"
               if ( $3 == "DATA" )
                   print ori[$3,o]","$3>"b.dat"
               }
   }
}' maindatafile.dat myfile.confg
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:07.


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