linux 常用命令awk

AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。之所以叫 AWK 是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。

 AWK用法

awk 用法:awk ' pattern {action} ' files

1.RS, ORS, FS, OFS ,NF, NR用法

linux 常用命令awk_第1张图片

       通常,awk是以文件的一行为处理单位的。awk每接收文件的一行,然后执行相应的命令,来处理文本

RS用法

[root@localhost ~]# echo "1a2a3a4"|awk 'BEGIN{RS="a"}{print $0}'
1
2
3
4
 

ORS用法,ORS可以看成RS的逆向过程

例如:1.txt

[root@localhost ~]# cat 1.txt 
a
b
c
[root@localhost ~]# awk 'BEGIN{ORS="---"}{print $0}' 1.txt
a---b---c---

FS的用法

 [root@localhost ~]# awk 'BEGIN{FS=":"}{print $1,$2}' /etc/passwd
root x
bin x
daemon x
adm x
lp x
sync x
shutdown x
halt x
 

OFS RS与ORS可以说成是一个互逆的过程

[root@localhost ~]# awk 'BEGIN{FS=":";OFS="***"}{print $1,$2}' /etc/passwd
root***x
bin***x
daemon***x
adm***x
lp***x
sync***x
shutdown***x
halt***x
mail***x
operator***x

统计ip访问前10的nginx 访问日志

awk '{print $1}' access.log |sort |uniq -c |sort -k1 -nr |head -n10

 

你可能感兴趣的:(linux常用命令,linux,debian,运维)