The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > UNIX for Dummies Spørsmål og svar
.
google unix.com



UNIX for Dummies Spørsmål og svar Hvis du er usikker på hvor du skal legge inn en UNIX-eller Linux-spørsmålet, legger den her. Alle UNIX og Linux newbies velkommen!

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
CEP g. "Business Rules" iBot Complex Event Processing RSS Nyheter 0 10-23-2007 12:00
Reglene VRN Post her for å kontakte Site-administratorer og moderatorer 2 03-21-2006 09:25
Regler Tux Post her for å kontakte Site-administratorer og moderatorer 2 01-20-2005 02:48
reglene? Xskwizitboi UNIX for Dummies Spørsmål og svar 1 12-02-2004 01:46

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 denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 06-22-2005
yongho yongho is offline
Registrert bruker
  
 

Bli Dato: juni 2005
Sted: New York City
Innlegg: 95
Syntaks / Regler (Kan jeg gjøre dette?)

Jeg har en liten kode som jeg trenger å iterate 24 ganger (for hver time i døgnet ).... Her er hva det ser ut nå ...


Code:
while read hour file; do
       
    if [ $hour -eq 00 ]; then
        count=`awk -F, 'BEGIN { count=0 } ............. { count++ } END { print count }' $file`
        hourly01=`expr $hourly1 + $trade_count`
    elif [ $hour -eq 01 ]; then
        count=`awk -F, 'BEGIN { count=0 } ............. { count++ } END { print count }' $file`
        hourly02=`expr $hourly2 + $trade_count`
    ..................
    fi

done < ls.txt

Som du ser er det enkle, og iterates igjen og igjen, men unødvendig (24 ganger) ... Kan jeg bytte ut alle tallene med en variabel ... liker slikt ..

ikke ta meg koden bokstav for bokstav, bare ta ideen og fortelle meg om det kan gjøres ..


Code:
for (x=00; x<=23; x++) {
    if [ $hour -eq $x ]; then
        count=`awk -F, 'BEGIN { count=0 } ............. { count++ } END { print count }' $file`
        hourly$x=`expr ${hourly}$x + $trade_count`
    fi
}

Dvs' tanken .. Jeg vet at jeg ikke bruke en UNIX for-løkke, Men jeg begynte å lære UNIX og jeg ikke se hva for ser ut som i unix enda) .. Men kan jeg skrive den midtre delen (hver forekomst av $ x) slik at jeg skrev det her?

Sist endret av yongho; 06-22-2005 på 05:48..
  #2 (permalink)  
Old 06-22-2005
Jim McNamara jim mcnamara is online now Forum Staff  
...@...
  
 

Bli Date: Feb 2004
Beliggenhet: NM
Innlegg: 5799
awk støtter arrays.

Den, det
Code:
'{ count=0 } ............. { count++ } END { print count }'

del kunne skrive til en matrise element i stedet for "print count". Istedenfor å gå gal over dette, mener en god bok som O'Reilly boken "sed & Awk 'Hvis du er på Manhattan, Barnes and Noble har det.

Kort svar: i awk kan du gjøre hva du spør. Alt i ett stykke awk koden.
  #3 (permalink)  
Old 06-23-2005
yongho yongho is offline
Registrert bruker
  
 

Bli Dato: juni 2005
Sted: New York City
Innlegg: 95
Jeg ser

Nå er jeg vurderer å gjøre det på den måten du foreslo, men jeg har et annet spørsmål om den foreslåtte metoden.

Mitt problem: Opprinnelig Jeg kjørte omtrent slik ls-al | grep juni 22 | cut-c49-100>> myLs.txt å gi meg tid og filnavnet for alle filer for 22 juni i en tekstfil.

Med denne tekstfilen Jeg begynte awking.

Du er noe som tyder på at i stedet for å bruke mens les time fil at jeg begynner awk umiddelbart, for å unngå å gjenta alt det som jeg gjorde.

Siden tekstfil med LS holder Filnavnene av CSV-filer, jeg trenger å kunne, på et tidspunkt, awk disse filene til å utføre noen telle utregninger. Jeg tror ikke jeg kunne bruke en nestet awk .. awk innenfor en awk å åpne disse filene finnes i den første awk. (eller kan jeg?).

Jeg skal plukke opp boken over helgen, takk.

Sist endret av yongho; 06-23-2005 på 10:53..
  #4 (permalink)  
Old 06-23-2005
Jim McNamara jim mcnamara is online now Forum Staff  
...@...
  
 

Bli Date: Feb 2004
Beliggenhet: NM
Innlegg: 5799
awk støtter system ()-funksjonen, akkurat som i C og php.

Du kan lage en dynamisk streng, så pass den til systemet skal opprette utgang.

Det er ikke som awk er bedre enn script eller omvendt - det er like ille å fortsette å bruke flere forskjellige verktøy og hoppende frem og tilbake mellom dem. IMO.
  #5 (permalink)  
Old 06-26-2005
thepicoman thepicoman is offline
Registrert bruker
  
 

Bli Dato: juni 2005
Innlegg: 14
dette er eval

du typen i sudo en av biginng av programmet coman å overstyre scynan cheak.
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 03:12.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0