awk學習筆記

2021-06-07 12:25:03 字數 2973 閱讀 6771

1、將第一列重複的元素去掉,只保留第乙個

[root@centos awk_test]# cat sed_u.txt

haha;1

nihao;1

haha;3

hehe;4

heihei;5

heihei;6

1;haha

1;heihei

[root@centos awk_test]# awk -f";" '!a[$1]++' sed_u.txt

haha;1

nihao;1

hehe;4

heihei;5

1;haha

[root@centos awk_test]#

2、awk基礎

[root@centos awk_test]# nl grade.txt

1 m.tans 5/99 48311 green 8 40 44

2 j.lulu 06/99 48317 green 9 24 26

3 p.bunny 02/99 48 yellow 12 35 28

4 j.troll 07/99 4842 brown-3 12 26 26

5 l.tansl 05/99 4712 brown-2 12 30 28

[root@centos awk_test]# awk 'begin

end' grade.txt

name belt

--m.tans  green

j.lulu  green

p.bunny  yellow

j.troll  brown-3

l.tansl  brown-2

--end

[root@centos awk_test]#

[root@centos awk_test]# awk '$0~/brown/ ' grade.txt

j.troll 07/99 4842 brown-3 12 26 26

l.tansl 05/99 4712 brown-2 12 30 28

[root@centos awk_test]# awk '' grade.txt

j.troll 07/99 4842 brown-3 12 26 26

l.tansl 05/99 4712 brown-2 12 30 28

[root@centos awk_test]#

[root@centos awk_test]# awk '$0 !~ /brown/' grade.txt

m.tans 5/99 48311 green 8 40 44

j.lulu 06/99 48317 green 9 24 26

p.bunny 02/99 48 yellow 12 35 28

[root@centos awk_test]#

[root@centos awk_test]# awk '$6 < $7 ' grade.txt

m.tans 5/99 48311 green 8 40 44

j.lulu 06/99 48317 green 9 24 26

[root@centos awk_test]#

[root@centos awk_test]#

[root@centos awk_test]# awk '/[gg]reen/' grade.txt

m.tans 5/99 48311 green 8 40 44

j.lulu 06/99 48317 green 9 24 26

[root@centos awk_test]#

[root@centos awk_test]#

[root@centos awk_test]# awk '$0 ~/(yellow|brown)/' grade.txt

p.bunny 02/99 48 yellow 12 35 28

j.troll 07/99 4842 brown-3 12 26 26

l.tansl 05/99 4712 brown-2 12 30 28

[root@centos awk_test]#

[root@centos awk_test]#

[root@centos awk_test]# awk ' end' grade.txt

7 1 m.tans 5/99 48311 green 8 40 44

7 2 j.lulu 06/99 48317 green 9 24 26

7 3 p.bunny 02/99 48 yellow 12 35 28

7 4 j.troll 07/99 4842 brown-3 12 26 26

7 5 l.tansl 05/99 4712 brown-2 12 30 28

grade.txt

[root@centos awk_test]#

[root@centos awk_test]#

[root@centos awk_test]# echo $pwd

/lxg/awk_test

[root@centos awk_test]# echo $pwd | awk -f/

' 'awk_test

[root@centos awk_test]#

[root@centos awk_test]#

[root@centos awk_test]# awk '(tot+=$6); end' grade.txt

m.tans 5/99 48311 green 8 40 44

j.lulu 06/99 48317 green 9 24 26

p.bunny 02/99 48 yellow 12 35 28

j.troll 07/99 4842 brown-3 12 26 26

l.tansl 05/99 4712 brown-2 12 30 28

club student total points :155

[root@centos awk_test]#

awk學習筆記

單詞計數 cat filename awk end 排序演算法 bin bash function f while n 1 do f 1 shift done wait 顯示特殊符 var i am a student echo var awk 結果為 am a i student echo var...

AWK學習筆記

1.awk是三個 人名的縮寫,他們是 aho peter weinberg和 brain kernighan。awk是一種樣式掃瞄與處理工具。但其功能卻大大強於sed和grep。awk支援對記錄和字段的處理,其中對字段的處理是grep和sed不能實現 的,這也是awk優於二者的原因之一。2.與其它u...

awk學習筆記 1

基本用法 awk f fs v var value program var value file s awk f fs v var value begin pattern end var value file s awk f fs v var value f programfile var valu...