AWK - Tutorial
..:: Menu ::..
 :: Wprowadzenie
 :: Zaczynamy
 :: Formatowane wyjście
 :: Wyrażenia regularne
 :: Wbudowane zmienne
 :: Operatory i funkcje
 :: Instrukcje sterujące
 :: Tablice
 
 :: Przykłady
 :: Linki

Darmowe konta, domeny: of.pl
..:: Wbudowane zmienne ::..

 

   awk posiada kilka wewnętrznych zmiennych dostępnych programiście. Są to miedzyinnymi:

  ARGC       ilość argumentów pobranych z lini komend
  ARGV       tablica argumentów pobranych z lini komend
  FILENAME   nazwa aktualnego pliku
  FNR        ilość rekordów w aktualnym pliku
  FS         separator pól (domyślnie= spacja i tabulator)
  NF         ilość pól w lini
  NR         ilość przeczytanych lini
  OFMT       format liczb wyjściowych (domyślnie=%.6)
  OFS        separator pól wyjściowych (default=spacja)
  ORS        separator lini wyjsciowych (default=nowa linia)
  RS         separator lini wejściowych (default=nowa linia)

Przykład "mojawk25":

#mojawk25, program awk wyświetlający
#pięć pierwszysz lini z pliku (analogicznie jak "head")
FNR == 1, FNR == 5 { print $0 }

Ekran:

>awk -f mojawk25 awktekst
  Type    Mem(Kb) Location Serial#   HDSize(Mb)
  XT      640     D402     MG0010    0
  386     2048    D403     MG0011    100
  486     4096    D404     MG0012    270
  386     8192    A423     CC0177    400

Przykład "mojawk26":

#mojawk26, program awk wyświetlający
#numery poszczególnych lini
{ print NR, ":\t", $0 }

Ekran:

>awk -f mojawk26 awktekst
  1:    Type    Mem(Kb) Location Serial#   HDSize(Mb)
  2:    XT      640     D402     MG0010    0
  3:    386     2048    D403     MG0011    100
  4:    486     4096    D404     MG0012    270
  5:    386     8192    A423     CC0177    400
  6:    486     8192    A424     CC0182    670
  7:    286     4096    A423     CC0183    100
  8:    286     4096    A425     CC0184    80
  9:    Mac     4096    B407     EE1027    80
  10:   Apple   4096    B406     EE1028    40
  11:   68020   2048    B406     EE1029    80
  12:   68030   2048    B410     EE1030    100
  13:   $unix   16636   A405     CC0185    660
  14:   "trs80" 64      Z101     EL0020    0

Przykład "mojawk27":

#mojawk27, program awk
#przykład zastosowania "ARGC" oraz "ARGV"
BEGIN { print "Podales ",ARGC, "parametrow w lini polecen";
  print "Pierwszy parametr to: ", ARGV[0];
  print "Drugi parametr to: ", ARGV[1]
}

Ekran:

>awk -f mojawk27 awktekst
  Podales 2 parametrow w lini polecen
  Pierwszy parametr to: awk
  Drugi parametr to: awktekst

Przykład "mojawk28":

#mojawk28, program awk
#informujący o ilości pól w poszczególnych liniach
{ print "W lini", NR, "jest", NF, "pol" }

Ekran:

>awk -f mojawk28 awktekst
  W lini 1 jest 5 pol
  W lini 2 jest 5 pol
  W lini 3 jest 5 pol
  W lini 4 jest 5 pol
  W lini 5 jest 5 pol
  W lini 6 jest 5 pol
  W lini 7 jest 5 pol
  W lini 8 jest 5 pol
  W lini 9 jest 5 pol
  W lini 10 jest 5 pol
  W lini 11 jest 5 pol
  W lini 12 jest 5 pol
  W lini 13 jest 5 pol
  W lini 14 jest 5 pol

Valid XHTML 1.0 Transitional Valid CSS!   E-mail do webmastera: sgrzes@op.pl  © Grzegorz Sala 2005 DO GÓRY