9 AWK a w k a w k s h e l l a w k Bailing out a w k : c m d. L i n e : a w k s h e l l a w k a w k a w g r e p s e d s h e l l a w k a w k a w k a w k a w k a w k a w k s e d g r e p a w k a w k A h o. We n i n b e rg e r K e r n i g h a m n a w k g a w k a w k a w a w k 9.1 awk a w k c o m m a n d s a w k [- F ] a w k p a s s w d - F a w k a w k a w a w k
9 AWK 67 - f a w k _ s c r i p t _ f i l e a w k i n p u t _ f i l e ( s ) a w k 9.2 awk a w k a w k - F a w k - F a w k a w k 9-1 a w k # n a w k 9-1 awk 1 2 3 4 P. B u n n y ( 1 ) # 02 / 99 # 48 # Yellow \n J. Tr o l l ( 2 ) # 07 / 99 # 4842 # Brown-3 \n 9.2.1 a w k a w k B E G I N E N D B E G I N B E G I N E N D a w k a w k {} i f l o o p i n g a w k 9.2.2 a w k $ 1 $ 2... $ n $ 1, $ 3 1 3 5 $ 1, $ 2, $ 3, $ 4, $ 5 $ 0 Aw k $ s h e l l $ p r i n t a w k
68 1. g r a d e. t x t 7 1 2 3 4 5 6 7 - F 2. a w k s h e l l a w k > w o w t e e d e l e t e _ m e _ a n d _ d i e a w k tee delete_me_and_die 3. a w k a w k 4. a w k {print $0}( )
9 AWK 69 5. f i e l d - 1 f i e l d - 4 $ 1 $ 4 6. t a b t a b t a b \ t n a m e b e l t \ n \ n B E G I N a w k 7. end of report E N D E N D E N D 8. awk a w k a w a w k
70 a w k a w k a w k a w k 9. awk g r a d e. t x t B E G I N a w k s h e l l a w k a w <Ct r l - D > a w k 9.2.3 awk g r e p a w k G r e e n / G r e e n / G r e e n 9.2.4 a w k 7 \ ^ $. [] () * +? 7 a w k g r e p s e d + + /X Y?Z/ X Y Z Y Z 9.2.5 9-2 a w k
9 AWK 71 9-2 awk 1. < > = < = ~ = =! ~!= i f a w k i f g r a d e. t x t b r o w n f i e l d - 4 {if($4~/brown/) print } f i e l d - 4 b r o w n {} a w k i f b r o w n 2. 48 4 f i e l d - 3 48 a w k 48 48 = = $ 3 = = 4 8 48 3. ~! ~ b r o w n $0!~/brown/ b r o w n a w k
72 f i e l d - 4 awk$4!="brown"{print $0} grade.txt b r o w n b r o w n b r o w n - 2 b r o w n - 3 b r o w n - 2 4. f i e l d - 6 f i e l d - 7 5. 6. 7. [] [ g r e e n /[ G g ] r e e n / 8. a. / ^... a / a 9. y e l l o w b r o w n
9 AWK 73 Ye l l o w B r o w n G r e e n g r e e n [] 10. 48 ^ a w k 7 7 a w k && AND : O R! 11. AND P. B u n n y Ye l l o w ( $ 1 = = " P. B u n n y "&& $ 4 = = " Ye l l o w ") && 12. Or Ye l l o w B r o w n 9.2.6 awk a w k 9-3 9-3 awk A R G C A R G V E N V I R O N FILENAME F N R F S a w k - F
74 N F N R O F S O R S R S A R G C a w k A R G V A R G C A R G V [ n ] n E N V I R O N E N V I R O N [ E D I TO R ] = Vi F I L E N A M E a w k a w k F N R a w k N R F S a w k - F F S = " " N F O F S # O F S = "#" O R S \ n R S (\ n ) 9.2.7 NF NR FILENAME a w k N R N R print NR E N D N F E N D B r o w n A N D B r o w n
9 AWK 75 / N F $ P W D a w k 9.2.8 awk a w k = += *= / = %= ^ = &&! ~! ~ < <= ==!= >> + - * / % ^ + + -- 1. a w k n a m e = $ n n a m e n n a m e b e l t n a m e = $ 1 ; b e l t s = $ 4 a w k n a m e b e l t s Ye l l o w 2. 1) B E G I N 2) B E G I N a w k 27 2 72 7
76 B A S E L I N E B E G I N 3. a w k a w k a w k N R N F $ 1 = $ 1 + 5 1 5 M. Ta n s l e y 40 39 $ 6 = $ 6-1 4. J. Tr o l l J. L. Tr o l l $ 1 = " J. L. Tr o l l " " 5. 100 6. a w k { $ 4 = $ 2 + $ 3 } 3 4 2 3 g r a d e. t x t 8 { $ 8 = $ 7 - $ 6 } B E G I N t a b
9 AWK 77 7. + = $ 1 t o t a l t o t a l + = $ 1 a w k t o t + = $ 6 t o t a w k 6 E N D 6 a w k 8. ls -l a w k a w k d E N D ls -l d 5 9 d ^ [ ^ d ] t o t
78 9.2.9 a w k 9-4 9-4 awk g s u b ( r, s ) g s u b ( r, s, t ) i n d e x ( s, t ) l e n g t h ( s ) m a t c h ( s, r ) s p l i t ( s, a, f s ) s p r i n t ( f m t, e x p ) s u b ( r, s ) s u b s t r ( s, p ) s u b s t r ( s, p, n ) $ 0 s r t s r s t s s r f s s a f m t e x p $ 0 s s p s p n g s u b s e d $ 0 g s u b $ 0 i n d e x s t s t l e n g t h s m a t c h s r s p l i t f s s a s p r i n t p r i n t f f m t e x p s u b r s $ 0 r s u b s p s p s u b s t r s p n a w k 1. gsub / / / 4842 4 899 2. index s t B u n n y n y 3. length J. Tr o l l
9 AWK 79 4. match m a t c h 0 A N C D d 0 A N C D D A N C D D J. L u l u 5. split s p l i t - A D2 - K P 9 - J U 2 - L P - 1 s p l i t (" A D 2 - K P 9 - J U 2 - L P - 1 " p a r t s _ a r r a y " -"s p l i t 4 s p l i t m y a r r a y m y a r r a y 6. sub s u b S T R poped popo pill s u b s u b / o p / " o p " S T R o p po Ped pope pill J. Tr o l l 29 24 s u b / 26 / " 29 " $ 0 24 J. Tr o l l 7. substr s u b s t r 1 5
80 a w k L Ta n s l - e y 3 7 99 a w k s u b s t r 1 B E G I N E N D t 8. s h e l l a w k a w k a w k a w k s t a n d - b y a w k a w k a w k 9.2.10 \ n \ n {} /\{/ a w k 9-5 a w k 9-5 awk \ b \ t t a b \ f \ d d d \ n \ c \\ \ r
9 AWK 81 May Day t a b May Day 104 1 41 1 71 D a y \ 104 D A S C I I \ 141 a A S C I I 9.2.11 awk printf t a b a w k p r i n t f p r i n t f % p r i n t f p r i n t f [ ] 9.2.12 printf 9-6 awk printf - Wi d t h 0 0. p r e c 1. 9-7 awk printf % c A S C I I % d % e % f 123. 44 % g a w k e f % o % s % x A S C I I 65 65 a w k p r i n t f A S C I I p r i n t f a w k 999 2.
82 15 \ n p r i n t p r i n t f 3. a w k a w k a w k a w k a w k awk = a w k A G E 10 a w k 10 a w k df -k a w k 4 $ 4 ~ / ^ [ 0-9 ]/ 1 024 d f i f ( $ 4 < T R I G G E R ) T R I G G E R df -k d f a w k w h o w h o a w k L O G N A M E w h o a w k
9 AWK 83 r o o t root you are connected to ttyp1 4. awk a w k a w k a w k awk t o t + = $ 6 END{print "club student total points " t o t } g r a d e. t x t s t u d e n t _ t o t. a w k a w k a w k a w k /bin/awk -f a w k
84 E R R O R * a w k a w k a w k a w k 5. a w k F S F S # F S
9 AWK 85 a w k F S B E G I N a w k F S / e t c / p a s s w d 1 5 p a s s w d 1 5 6. a w k a w k a w k awk script_file var=value input_file N F M A X / e t c / p a s s w d p a s s w d 7 a w k
86 a w k d u d u a w k 9.2.13 awk s p l i t s p l i t m y a r r a y m y a r r a y For (element in array ) print array[element] 123 # 456 # 678 s p l i t / d e v / n u l l
9 AWK 87 s p l i t # 1) Ye l l o w O r a n g e R e d 2 ) 20 6 a w k a w k
88 B E G I N F S # Ye l l o w O r a n g e R e d B E G I N B E G I N c o l o r 1 Ye l l o w O r a n g e R e d S e n i o r _ o r _ j u n i o r 2 j u n i o r s e n i o r E N D \ a w k 9.3 a w k a w k a w k a w k s h e l l s h e l l a w k