The UNIX and Linux Forums  

Go Back   A UNIX és Linux Forums > Top Fórumok > A UNIX a fejlett és szakértői Felhasználók
.
google unix.com



A UNIX a fejlett és szakértői Felhasználók Szakértő-to-szakértő. Tudjon fejlett UNIX, UNIX parancsokat, a Linux operációs rendszereket, Rendszeradminisztráció, programozás, a Shell, a Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
hogyan lehet értékei awk / nawk változó kívül awk / nawk blokk? saniya Shell programozás és Scripting 5 05-13-2008 08:37 AM
nawk & awk sd12 A UNIX a fejlett és szakértői Felhasználók 5 05-05-2008 11:46 AM
nawk / ksh help DeltaX Shell programozás és Scripting 0 03-06-2008 03:54 PM
nawk-v awk kamel.seg Shell programozás és Scripting 2 12-18-2007 07:30 AM
nawk whatisthis Shell programozás és Scripting 3 09-29-2004 02:44 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 01-03-2008
ctap ctap is offline
Regisztrált felhasználó
  
 

Join Date: Jul 2005
Hozzászólások: 3
nawk használata

Találtam egy parancsot, aki kinyomtatja x vonal előtt és után egy sort, aki azokban keresett szöveg egy szöveges fájl.
A parancs a következő:
-------------------
nawk 'c -> 0, $ 0 ~ ek (if (b) (c \u003d b +1, c> 1, c -) nyomtatott r [(NR-c +1)% b]; print, c \u003d a) b (r [NR% b] \u003d $ 0) 'b \u003d 2 a \u003d 4 s \u003d "string" fájl1

... ahol a "b" és "a" a sorok számát Nyomtatás előtt és után string "s".
-------------------

Ez nagyon jól működik, de nem értem a szintaxis, túl nehéz az "ember nawk". Az, hogy valaki, aki képes lesz hozzászóló szintaxis?

Thank's in advance, best regards és boldog új évet.
  #2 (permalink)  
Old 01-10-2008
Perderabo's Avatar
Perderabo Perderabo is offline Forum Staff  
Unix Daemon
  
 

Join Date: Aug 2001
Helyszín: Ashburn, Virginia
Hozzászólások: 9.131
'c -> 0; 0 $ ~ s (if (b) (c \u003d b 1, c> 1, c -) print r [(NR-c +1)% b]; print, c \u003d a ) b (r [NR% b] \u003d $ 0) '
még 3 minta-action nyilatkozatok:
1) c -> 0;
2) $ 0 ~ s (if (b) (c \u003d b 1, c> 1, c -) print r [(NR-c +1)% b]; print, c \u003d a)
3) b (r [NR% b] \u003d $ 0)

Az első rész nincs kifejezett cselekvés, így a cselekvés az, hogy egyszerűen kinyomtatja a teljes rekordot. De ebben az esetben a pontosvessző van szükség ahhoz, hogy nem fut a második staement. A második utasítás kifejezetten olyan tevékenységtől, amely a merevítések és a pántok elég, hogy elkülönüljön a harmadik. Most, hogy ezek a nyilatkozatok fordított sorrendben ...

3) b (r [NR% b] \u003d $ 0)
A minta b, amely azt kérdezi, ha b nem nulla. Ha b nem nulla meg kell menteni rekordok esetén meg kell őket később. De ha b értéke nulla, akkor kihagyhatjuk ezt, mivel nem akarunk semmiféle "előtt" rekordok jelennek meg. Ha b van, mondjuk 5, akkor mindig az utolsó 5 rekordot az r tömbben.

2) $ 0 ~ s (if (b) (c \u003d b 1, c> 1, c -) print r [(NR-c +1)% b]; print, c \u003d a)
A minta 0 $ ~ s egyszerűen megkérdezi, hogy a rekord illeszkedik a keresési feltételeket mi tárolt s. Ha igen, és ha b nem nulla, akkor nyomtassa e nyilvántartásokat, hogy mi a 3. lépésben mentett pontot. Ezután nyomtassa ki a jelenlegi rekord. Then c \u003d a létrehozza a következő lépésben meg kell magyarázni ...

1) c -> 0;
c lesz állítva (number of "a" rekord), ha megtaláljuk a mérkőzés. A c - c rész csökkentést követően használjuk fel. És mi használ ez-hoz lát ha ez nagyobb, mint nulla. Így jött létre a "a" rekordok nyomtatni.

Last edited by Perderabo; 01-17-2008 at 08:34 AMOk ..: fix egyes typos
  #3 (permalink)  
Old 01-17-2008
ctap ctap is offline
Regisztrált felhasználó
  
 

Join Date: Jul 2005
Hozzászólások: 3
Perderabo Köszönjük

Megértem, jobb! És talán "NR% b" jelentése: "NR modulo b" ...

Én több időre lesz szükség, hogy elemezzék, de hála egy csomó
Closed Thread

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 02:45 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0