awk-man-b5.pdf
(
349 KB
)
Pobierz
Wprowadzenie do AWK
Opisj¦zykaAWK
TomaszPrzechlewski
18listopada2000roku
2
Poszerzonaipoprawionawersjatekstu:B.Licho«skiiT.Przechlewski,AWK–
opisj¦zykazprzykładami[
5
].
Copyright(C)2000,T.Przechlewski
Zezwalasi¦narozpowszechnianieimodyfikowanietegodokumentupodwarunkiem
umieszczenianaka»dejkopiinotycopyrightowejorazniniejszejnotylicencyjnej.
Zmodyfikowanawersjadokumentumusiby¢rozpowszechniananawarunkach
niniejszejlicencji.
Spistre±ci
3
Spistre±ci
1.Wprowadzenie
5
1.1.Strukturaplikuwej±ciowego
..................... 7
1.2.Skryptywykonywalne
......................... 9
2.Wzorce
9
2.1.
BEGIN
/
END
................................ 10
2.2.Wyra»enie
................................ 10
2.3.Wzorzecregularny
........................... 11
2.4.Wzorzeczło»ony
............................ 11
2.5.Wzorzeczprzecinkiem
......................... 12
3.Wyra»eniaregularne
12
3.1.Napisyjakowyra»eniaregularne
................... 14
4.Wyra»enia
15
4.1.Stałe
................................... 15
4.2.Zmienne
................................. 15
4.3.Zmiennewbudowane
.......................... 16
4.4.Zmienneprzechowuj¡cezawarto±cipól
................ 17
4.5.Operatoryarytmetyczne
........................ 17
4.6.Operatorynapisowe
.......................... 17
4.7.Operatoryporównywaniaioperatorylogiczne
............ 18
4.8.Operatorypasowaniadowyra»e«regularnych
............ 19
4.9.Przypisanie
............................... 19
4.10.Operatorwarunkowy
?:
........................ 19
5.Arytmetycznefunkcjewbudowane
20
6.Napisowefunkcjewbudowane
20
7.Funkcjedatyiczasu
24
8.Instrukcjesteruj¡ce
24
8.1.Instrukcjapusta
............................ 27
9.Tabliceasocjacyjne
27
9.1.Instrukcja
delete
........................... 28
9.2.Tablicewielowymiarowe
........................ 28
10.Funkcje
29
4
Spistre±ci
11.Wej±cie
30
11.1.Pola
................................... 31
11.2.Rekordy
................................. 31
11.3.Instrukcja
getline
........................... 34
11.4.Polaoustalonejdługo±ci
........................ 36
12.Instrukcjewyj±cia–
print
/
printf
36
12.1.Instrukcja
printf
........................... 36
12.2.Instrukcja
print
............................ 38
12.3.Drukowaniedoplików
......................... 38
12.4.Drukowaniewpotoku
......................... 40
12.5.Funkcja
close
............................. 40
12.6.Funkcja
fflush
............................ 42
12.7.Funkcja
system
............................ 42
13.Argumentywywołaniaprogramu
42
14.UruchamianieAWK
43
Bibliografia
44
Skorowidz
44
1.Wprowadzenie
5
1.Wprowadzenie
SystemUNIXwyposa»onyjestwwielenarz¦dziwspomagaj¡cychprac¦u»ytkow-
ników.AWKjestjednymzestandardowychnarz¦dzitegosystemu,cho¢imple-
mentacjeAWKznale¹¢mo»naniemalnaka»dejplatformiesystemowej.Nazwa
AWKpochodziodinicjałówjegotwórców:AlfredaV.Aho,PeteraJ.Weinbergera
iBrianaW.Kernighana.
Wjednymzdaniumo»napowiedzie¢,»eAWKsłu»ydotransformacjidanych
tekstowych.Istot¡działaniaAWKjestprzetwarzanieplikulubplikówwej±ciowych
wedługzadanegozbiorureguł,generuj¡cstrumie«danychwyj±ciowych,czyte»
plikówwyj±ciowych.
Ka»dyprogramj¦zykaAWKskładasi¦zdowolnejliczbypar
1
:
hwzorzeci
{
hakcjai
}
hWzorzecijestwyra»eniemlogicznym,któremo»eby¢prawdziwe(wówczas
wykonywanajesthakcjai)lubfałszywe(hakcjainiejestwykonywana).Akcjajest
zawszezawartapomi¦dzypar¡nawiasów
{
i
}
.
AWKmo»eby¢wywołanynawielesposobów.Je»eliprogramjestkrótki,to
najpro±ciejjestumie±ci¢gopomi¦dzyznakamipojedynczegocudzysłowawliniipo-
lece«,wnast¦puj¡cysposób(wsystemachDOS/MSWindowszamiastcudzysłowa
pojedynczegonale»yu»y¢cudzysłowamaszynowego
"
):
awk’
hprogrami
’
hplik1ihplik2ih...i
Kiedyprogramjestdługiwygodniejszejestjegoumieszczeniewoddzielnym
pliku;wtymwypadkuuruchomienieprogramuwygl¡danast¦puj¡co(hprogrami
oznaczanazw¦plikuzawieraj¡cegoprogram):
awk-f
hprogramihplik1ihplik2ih...i
Programwj¦zykuAWKmo»ezawiera¢wieleparhwzorzeci
{
hakcjai
}
.AWK
czytapokoleiwierszezhpliku1i,hpliku2iitd.dlawszystkichplików,których
nazwypodanowliniipolece«.Plikites¡modyfikowanewedługprogramuzpliku
hprogrami,tj.dlaka»degowierszazka»degozplikówwej±ciowychobliczanes¡
kolejnewzorce(wkolejno±ciichwyst¦powaniawprogramie)iwykonywaneakcje.
Przykład
1
(s.
6
)pokazujeprogramwykorzystuj¡cy2wzorce.Uwaga:Przykładowe
programymog¡zawiera¢konstrukcjewdanymmomenciejeszczenieomówione.
Je»elico±jestniezrozumiałe,czytajdalej,apolekturzecałegotekstuwró¢do
tegomiejsca–wszystkopowinnoby¢jasne.Uwaga2:Przedstawioneprzykłady
programóws¡gotowedouruchomieniawsystemachUnix/Linuxnatomiast
wsystemachDOS/MSWindowswymagaj¡czasamimodyfikacji,np.zamiany
znaków
’
na
"
czyzast¡pieniaskryptówshellowychodpowiednimiplikami
.bat
.
Przedprzedstawieniembardziejszczegółowychinformacjioj¦zykuwymienimy
kilkapodstawowychregułskładn
iAWK:
1
Wprzykładachprogramówfragmenty,któreoznaczaj¡pewnepoj¦cia,aniekonkretne
konstrukcjej¦zykaoznaczonokursyw¡wewn¡trznawiasówtrójk¡tnych,np.:hinstrukcjaioznacza
ka»d¡instrukcj¦AWK.
Plik z chomika:
Jarek_S
Inne pliki z tego folderu:
Poradnik_programisty_linuksowego.tar.bz2
(44 KB)
kurs_linuksa_html.tar.bz2
(280 KB)
kurs_basha.tar.bz2
(66 KB)
awkrefcard-pl.pdf
(106 KB)
awk-man-b5.pdf
(349 KB)
Inne foldery tego chomika:
ABC_Foto
Audi
foto
Galeria
Instrukcje
Zgłoś jeśli
naruszono regulamin