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
Selektiv utvinning av data från filer dwgi32 Shell-programmering och Skript 3 06-26-2009 05:52
Extrahera flera upprepade data från en textfil apjneeraj Shell-programmering och Skript 5 04-14-2009 03:40
hämtning av uppgifter från en textfil som följer vissa mönster mohkris UNIX för avancerade & Expertanvändare 4 09-23-2008 08:09
Läs data från flera filer och summan av värdet nvuradi Shell-programmering och Skript 9 09-11-2008 02:08
grep flera textfiler i mappen till 1 textfil? coppertone UNIX for Dummies Frågor & Svar 7 08-23-2002 03:50

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 07-02-2009
ackheron ackheron is offline
Registered User
  
 

Join Date: Jul 2009
Inlägg: 2
Lightbulb Extraktion av data från flera textfiler, och skapa ett diagram

Hej kära vänner,

Mitt problem som förklaras nedan verkar verkligen grundläggande.
Faktum är att jag är helt ny för programmering, och har bara en vecka att tillverka ett script ( CShell eller Perl ? ) För att utföra den här åtgärden.

Även söka på forum, jag hittade ett kommando som kunde hjälpa mig, men jag vet inte hur man använder det på rätt sätt: s.

Men först av allt. . . sammanhanget.
Jag har 7300 textfiler, som var och en innehåller samma typ av information.
Nedan visas hur textfiler är skrivet:


3 parametrar på 05JAN01.
1 AZU1 STA X -0.247297943318988E 07 + - 0.241394876950605E-02
2 AZU1 STA Y -0.467133800760033E 07 + - 0.374164031593362E-02
3 AZU1 STA Z 0.355810775092403E 07 + - 0.257172727253398E-02
2 1 0.571958818322482E 00
3 1-0.659378461245129E 00
3 2-0.847505892381651E 00
AZU1 ANTENNA LC 0,1636 0,0000 0,0000! Upp nordost (m)


För att analysera alla data som jag behöver för att extrahera fet värden och lägga var och en i en annan kolumn i en Excel-fil (eller motsvarande) eller i en textfil (men då med tre värden på en rad, och kanske försöka skapa en csv-fil).

Avslutningsvis har jag en fil som denna i en annan mapp. . . . och det finns 3 eller 4 nivåer av skillnaden i arborescence. Som:

desktop/data_2005/05JAN01/out/solution/05JAN01AZU1_fix.txt
desktop/data_2005/05JAN02/out/solution/05JAN02AZU1_fix.txt
och det pågår under hela året. . .

Tanken är att använda "grep"-kommandot jag gissa:
Jag försökte med det här "egrep "1 | 2 | 3" <05JAN01AZU1_fix.stacov.txt | awk '(print $ 5)'>> output.txt"Men det fungerar inte riktigt. Det gjorde produktionen rent den 3 värden som jag vill när jag förändrat "1 | 2 | 3" till "10 | 20 | 30" och gjorde den förändrade värderingar 1,2,3 till 10,20,30före tre värden Jag ville att utvinna.

Så, i princip. . . Jag har en textfil för varje dag på året, innehållande tre värden som jag vill få i tre olika kolumner i en Excel-fil, eller på samma linje i csv-fil.

Jag antar att jag måste hitta sätt att extrahera korrekt mina värden, men också att jag måste skriva en sorts loop, gå igenom alla mappar (dagar) av året.

CShell eller Perl ?

Finns det någon som har en eller flera idéer som kan hjälpa mig att gå vidare?
Om du gör, jag blir glad om du släpper det där
Tack. . .

PS: Jag vet inte vem som skrev reglerna för forumet. . . den punkt nr 15 "Ingen rökning i forum" fick mig att le. . .
  #2 (permalänk)  
Old 07-02-2009
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: februari 2004
Ort: NM
Inlägg: 5.763
Använd inte cshell - låter som du är i universitetet ... Har du bash eller ksh eller ens Bourne? Det finns mycket välgrundade skäl för att undvika csh.

Här är en icke-Cshell svar
Kod:
find /desktop/data_2005  -name '*AZU1_fix.txt' |
while read filename
do
     awk '{ printf("%s ", $5)} END {printf("\n")} ' $filename
done | tr -s ' ' ',' > data_2005.csv
  #3 (permalänk)  
Old 07-05-2009
ackheron ackheron is offline
Registered User
  
 

Join Date: Jul 2009
Inlägg: 2
Tack så mycket Jim, det fungerar perfekt
Jag har fortfarande för att söka förstå fullt ut hur det fungerar. . . Jag menar den syntax och allt. . . Jag skulle vilja utgångsenergi datum t.ex. "05JAN01" i första kolumnen också. . .

Jag märker en skillnad mellan värdena för de txt-filer och värden i csv. . .
Till exempel när den första är "-0,247297943318988E 07 "(se exemplet i mitt första inlägg), det blir" -2472979.90616501"(Decimal del verkar det). Jag vet inte ännu om jag verkligen behöver den precision... Jag kontrollera detta.

Några idéer?

Ditt nummer kommer att hjälpa mig mycket. . . Tack igen!
Ackheron.

Senast redigerad av ackheron; 07-05-2009 at 08:46..
Reply

Komihåglista

Taggar
utvinning textfiler flera

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 03:05.


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