![]() |
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| Selectieve extractie van gegevens uit bestanden | dwgi32 | Programmeren en Shell Scripting | 3 | 06-26-2009 04:52 |
| Extraheer meerdere herhaalde gegevens uit een tekstbestand | apjneeraj | Programmeren en Shell Scripting | 5 | 04-14-2009 02:40 |
| extractie van gegevens uit een tekstbestand dat volgt bepaald patroon | mohkris | UNIX for Advanced & Expert Gebruikers | 4 | 09-23-2008 07:09 |
| Lees de gegevens van meerdere bestanden en de som van de waarde | nvuradi | Programmeren en Shell Scripting | 9 | 09-11-2008 01:08 PM |
| grep meerdere tekstbestanden in de map in 1 tekstbestand? | Coppertone | UNIX voor Dummies Questions & Answers | 7 | 08-23-2002 02:50 PM |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Hallo beste vrienden,
Mijn probleem zoals hieronder uiteengezet lijkt echt basic. Feit is dat ik ben helemaal nieuw voor de programmering, en hebben slechts een week om een script ( CShell of Perl ? ) Voor het uitvoeren van deze actie. Hoewel het zoeken op het forum vond ik een commando dat zou me helpen, maar ik weet niet hoe u het goed: S. Maar in de eerste plaats. . . de context. Ik heb 7300 tekstbestanden, elk met hetzelfde type van informatie. Hieronder wordt getoond hoe de tekst bestanden worden geschreven: 3 parameters op 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 1 2 0.571958818322482E +00 3 1-0.659378461245129E +00 3 2-0.847505892381651E +00 AZU1 ANTENNA LC 0,1636 0,0000 0,0000! Up noordoosten (m) Met het oog op het analyseren van alle gegevens, ik nodig om de vetgedrukte waarden, en die elk in een andere kolom van een Excel-bestand (of gelijkwaardig) of in een tekstbestand (maar dan met de drie waarden op een lijn, en misschien proberen om een csv-bestand). Om af te sluiten, heb ik een bestand als deze in een andere map. . . . en er is 3 of 4 niveaus van verschil in de boomstructuur. Zoals: desktop/data_2005/05JAN01/out/solution/05JAN01AZU1_fix.txt desktop/data_2005/05JAN02/out/solution/05JAN02AZU1_fix.txt en het gaat op voor het gehele jaar. . . Het idee zou zijn gebruik te maken van de "grep" commando denk ik: Ik probeerde met dit "egrep "1 | 2 | 3" <05JAN01AZU1_fix.stacov.txt | awk '(print $ 5)'>> output.txt"Maar het werkt niet goed. Het heeft output netjes de 3 waarden die ik wil wanneer ik veranderde de "1 | 2 | 3" "10 | 20 | 30" en deed de veranderde de waarden 1,2,3 aan 10,20,30voor de drie waarden Ik wilde het uittreksel. Dus, eigenlijk. . . Ik heb een tekst bestand voor elke dag van het jaar, met drie waarden die ik wil in drie afzonderlijke kolommen van een Excel-bestand of in dezelfde regel van het CSV-bestand. Ik denk dat ik bij het vinden van de juiste manier om mijn waarden, maar ook dat heb ik met het schrijven van een soort lus, om door alle mappen (dagen) van het jaar. CShell of Perl ? Heeft iemand een of meer ideeën te helpen mij verder? Als u dit doet, zal ik tevreden zijn als u druppel daar Bedankt. . . PS: Ik weet niet wie schreef de regels van het forum. . . het punt n ° 15 "Roken in het forum" made me smile. . . ![]() |
|
||||
|
Gebruik geen cshell - klinkt als u zich in de universiteit ... Heeft u bash of ksh of zelfs Bourne? Er zijn heel goede redenen zijn om te vermijden csh.
Hier is een non-Cshell antwoord Code:
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
|
|
||||
|
Thank you very much Jim, het werkt perfect
Ik heb nog steeds te zoeken volledig te begrijpen hoe het werkt. . . Ik bedoel de syntaxis en alles. . . Ik wil de output van de data bv "05JAN01" in de eerste kolom zijn. . . Ik heb een verschil tussen de waarden van de txt-bestanden en de waarden in de CSV. . . Bijvoorbeeld wanneer de eerste waarde is "-0,247297943318988E +07 "(zie het voorbeeld in mijn eerste post), wordt" -2472979.90616501"(Decimale deel, lijkt het). Ik weet niet of ik eigenlijk nog niet nodig dat precisie... Ik ben de controle op deze. Any ideas? Uw code zal helpen me veel. . . Nogmaals dank! Ackheron. Laatst bewerkt door ackheron; op 07.05.2009 07:46.. |
![]() |
| Bladwijzers |
| Labels |
| extractie tekstbestanden meerdere |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|