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
Cons: Konfiguration er gjort ved at redigere tekst-baseret config file ... - Techworld.com iBot UNIX og Linux RSS Nyheder 0 10-09-2007 10:10 AM
Ekstraktion af data fra en fil OOP UNIX for dummyer Spørgsmål & svar 0 07-31-2007 12:48 PM
Ekstraktion af data fra XML-fil nishana Shell Programmering og Scripting 3 07-13-2007 08:17 AM
hvordan du indsætter data i databasen er baseret på tekst-fil? forevercalz Shell Programmering og Scripting 9 12-20-2005 11:40 PM
at få data fra konfigurationsfil esham Shell Programmering og Scripting 7 11-21-2005 12:24 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 08-09-2007
suparnbector suparnbector is offline
Registreret Bruger
  
 

Join Date: May 2007
Stillinger: 13
Udvinding af data fra tekstfil baseret på konfiguration i konfigurationsfil

Hej,

en:) Jeg har opsætningsfil med pattren
<Range Start no>, <Range udgangen no>, <type af optegnelser, der skal udvindes fra de data, der file>, <navn på filen for at gemme output>

f.eks:

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

b:) Strukturen af mine data fil er:
<nej>, <type af record>

f.eks
maindatafile.dat
9899000000, SMS
9899000001, DATA
989.901, DATA

Nu vil jeg til at udpakke poster fra vigtigste fil
Betingelse
En check er for rækkevidde og andre vil være Record type er defineret i konfigurationsfilen

Produktionen skal gerne:
Filnavn: >>>>> b.dat
9899000001, DATA

Tilsvarende separate filer baseret på række og Record type skal oprettes.

Kan nogen hjælpe med at få opfyldt dette på bedst mulige måde ...

Thanks in Advance

Senest redigeret af zazzybob; 08-09-2007 kl 08:30 AM.. Årsag: Deaktiveret smilies
  #2 (permalink)  
Old 08-09-2007
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
  
 

Join Date: Feb 2006
Beliggenhed: Almería, Spanien
Posts: 393
Check dette:

Code:
>cat maindatafile.dat 
9899000000,SMS
989901,DATA
9899000001,DATA
9899001000,SMS
9899001001,DATA
Code:
>cat myfile.confg 
9899000000,9899999999,DATA,b.dat
9899000000,9899999999,SMS,a.dat
Code:
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 (permalink)  
Old 08-10-2007
suparnbector suparnbector is offline
Registreret Bruger
  
 

Join Date: May 2007
Stillinger: 13
Udvinding af data fra tekstfil baseret på konfiguration i konfigurationsfil

Hi Klashxx,

Thanx for løsningen, men produktionen er ikke den måde, jeg ønskede

output IAM leder efter, er

a.dat fil sohuld indeholde alle poster i området er defineret for SMS record type


kat a.dat
9899000000, SMS
9899001000, SMS

Tilsvarende

b.dat fil sohuld indeholde alle poster i området er defineret for DATA record type

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

Join Date: Feb 2006
Beliggenhed: Almería, Spanien
Posts: 393
Bare en lille ændring:
[Quote \u003d Klashxx; 302131105] Check dette:

Code:
>cat maindatafile.dat 
9899000000,SMS
989901,DATA
9899000001,DATA
9899001000,SMS
9899001001,DATA
Code:
>cat myfile.confg 
9899000000,9899999999,DATA,b.dat
9899000000,9899999999,SMS,a.dat
Code:
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

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 07:41 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