.


:




:

































 

 

 

 


mawk (awk)




1.

2. AWK-

Part: AWK-

1. AWK

1.1

1.2

1.2.2

1.2.3

1.2.4

1.3

2. /patterns/

2.1

2.2

2.3

2.4 BEGIN END

3.

3.1 //

:

1. (input)

2. , "olga"

3. , "olga", "mike" "mal"

4.

5. ,

6. , "olga", "mike" "mal" : folga, fmike, fmal

 

AWK 1977, : Alfred V.Aho, Brian W.Kernighan Peter J.Weinberger , . , , , . - AWK, , , - .

AWK input ( ), , , . 256 .

:

awk [-Fc] [-f file] [files]

awk [-Fc] [prog] [files]

prog - , : ' ${$$}$'

file - AWK-:

{ }

{ }

...

files - , AWK-.

-Fc - ``'' (. 1.2.1 2.4)

2. AWK-

1. AWK :

;

(, );

.

2. :

;

;

;

BEGIN END.

3. :

, ``;'' ``\n'' ( )

:

();

;

;

.

 

AWK-

1. AWK

1.1

input , ( - ).

AWK :

$1 - ;

$2 - ;

... ...

$0 - .

100 .

1.2

1.2.2

. , :

x = 1, x ;

x = " ", x - ;

x + "abc" - , . ("abc"), 0.

256 .

1.2.3

$1, $2,... , :

$1 = "3" + $2 - , 3.

$(i+1) - , i.

1.2.4

. , , :

x[NR] = $0 - x, NR, .

x["apple"] - , .. .

1.3

:

;

;

;

;

< > .

< >: "+", "-", "*", "/", "%"

2. /patterns/

2.1

AWK , ``/ /''. , AWK-:

"()" - ;

" |" - "";

" + " - , , 1;

"? " - 0 1 ;

[A-Z] - ASCII ;

: "[] * +? |".

:

/Olga/ - , Olga.

/[Oo]lga|[Mm]ike|[Mm]al/ - , Olga olga Mike mike Mal mal.

/number[0-9]/ - , number0 number1 ... number9.

/\/.+\// - , , 1, / /.

2.2

:

< > < > < >

< > < . > < >

:

~ - ;

!~ - .

. : <, < =, ==,!=, > =, >.

:

$1 ~ /[Oo]lga/ - , Olga olga.

$1 > = "s" - , s : t, u, v...

2.3

: || - ``'', & & - ``'',! - ``''.

, .

: ``1, 2'' , , : , , ``1" , ``2", .

:

/02\.95/ & & ($1!~ /\.su/ $2!~ /\.su/) - , 02.95 .su .

NR == 100, NR == 200 - 100 200.

2.4 BEGIN END

BEGIN input , . END input , .

:

BEGIN {FS = ":"} - ":" . "-F:" AWK .

END { print NR } - input, .. .

3.

3.1 //

:

PRINT [< > ] [ > < 1> ]

, output () - OFS ( ). , .

< 1> . . ``> '' ``> > '', . 10 output .

:

PRINTF [, ] [ > 1]

: . , printf ``''. :

, output.

esc, , , "\n" - .

, ``%''. . ( , , - )

3.2

:

< > = < >

0 `` '' (). ``'': "+=","-=","*=","/=","%=".

< > ++, ++< > - 1.

< > --, --< > - 1.

3.3

length(arg) - arg. arg , .

exp(),log(),sqrt() - , .

int() - .

substr(s,m,n) - s, m, n .

index(s,t) - t s. ( 0, t s .)

sprintf(fmt,exp1,exp2,...) - () , PRINTF.

split(s,array,sep) - s array . sep, .

3.4

:

if (< >) < >

\hskip 1cm [else < > ]

:

while (< >) < >

for (< >; < >; < >)

\hskip 1cm < >

:

for(i=1; i< =NF; i++) - for ``''

for (i in array) - . .

break - .

continue - .

next - .

exit - ( input).

# -

:

1. (input)

{ PRINT NR }

2. , "olga"

/olga/

3. , "olga", "mike" "mal"

/olga\bverb mike\everb mal/

4.

{PRINT $3}

5. ,

{PRINT $3 $2}

6. , "olga", "mike" "mal" : folga, fmike, fmal

/olga/ {print > "folga"}

/mike/ {print > "fmike"}

/mal/ {print > "fmal"}

7. , root

ps aux | mawk $1 == root{print}

8.

ps aux | mawk index ($8,l)>0 {print}

 

 

2.

 

1. () . . 2:

/bin, /etc, /lib, /proc, /usr, /var, /dev, /sbin, /sys, /root, /tmp, /home

2. , .

3. C c , :

grep , 7, 1, 3 5.

4. C , :

starfish

starless

samscripter

stellar

microsrar

ascender

sacrifice

scalar

grep , s r

5. awk

6. awk , 5 .

7. awk ,

. 1-3 --------

. 4-5 --------

. 6-7 -------- gnome

. 8-9 --------

. 10-12-----

6.

 

3.

 

. :

1. , 1 - 7 - ( ).

 

4.

 

1. hexdump strings.

2. .

3. .

4. . .

5. .

6. .

7. awk (gawk, mawk).

 





:


: 2017-02-11; !; : 357 |


:

:

, , .
==> ...

1771 - | 1672 -


© 2015-2024 lektsii.org - -

: 0.048 .