linux命令awk的详细说明(2)

电脑杂谈  发布时间:2020-04-15 12:09:23  来源:网络整理

awk -F: '{print NR,$ 1,$ 2,$ 3,$ 4,$ 5}'OFS ='\ t'helloworld.sh //制表符分隔的输出前5个字段,并打印该行数字

awk -F'[: #]''{print NF}'helloworld.sh //指定多个分隔符: #,每行要输出多少个字段

awk -F'[: #]''{print $ 1,$ 2,$ 3,$ 4,$ 5,$ 6,$ 7}'OFS ='\ t'helloworld.sh //制表符分隔输出多个字段

awk -F'[: #/]''{print NF}'helloworld.sh // //指定三个分隔符并输出每行的字段数

awk -F'[: #/]''{打印$ 1,$ 2,$ 3,$ 4,$ 5,$ 6,$ 7,$ 8,$ 9,$ 10,$ 11,$ 12}'helloworld.sh //制表符分隔的输出多个字段

以KB为单位计算/ home目录中常见文件的大小

ls -l | awk'BEGIN {sum = 0}! / ^ d / {sum + = $ 5} END {打印“总大小为: ”,总和/ 1024,“ KB”}'

ls -l | awk'BEGIN {sum = 0}! / ^ d / {sum + = $ 5} END {打印“总大小为: ”,int(sum / 1024),“ KB”}''// int表示舍入.

统计分别有多少netstat -anp连接为LISTEN和CONNECT

netstat -anp | awk'$ 6〜/ LISTEN | CONNECTED / {sum [$ 6] ++} END {for(i in sum)printf“%-10s%-6s%-3s \ n”,i,“”,sum [i]}'

统计/ home目录中不同用户的通用文件总数?

ls -l | awk'NR! = 1 &&! / ^ d / {sum [$ 3] ++} END {for(i in sum)printf“%-6s%-5s%-3s \ n”,i,“”,总和[i]}'

mysql 199

根374

/ home目录中不同用户的通用文件的总大小是多少?

ls -l | awk'NR! = 1 &&! / ^ d / {sum [$ 3] + = $ 5} END {for(i in sum)printf“%-6s%-5s%-3s%-2s \ n”,i,“”,总和[i] / 1024/1024,“ MB”}'

成绩单

awk'BEGIN {数学= 0; eng = 0; com = 0; printf“ Lineno. 名称编号. 数学英语计算机总计\ n”; printf“ -------------- ---------------------------------- ------------ \ n“} {数学+ = $ 3; eng + = $ 4; com + = $ 5; printf“%-8s%-7s%-7s%-7s%-9s%-10s%-7s \ n”,NR,$ 1,$ 2,$ 3,$ 4,$ 5,$ 3 + $ 4 + $ 5} END {printf“ -------------------------------------- ----- ----------------- \ n“; printf“%-24s%-7s%-9s%-20s \ n”,“总计: ”,math,eng,com; printf“%-24s%-7s%-9s%-20s \ n”,“ Avg: ”,math / NR,eng / NR,com / NR}'test0

[root @ localhost home]#cat test0

嫁给2143 78 84 77

杰克2321 66 78 45

汤姆2122 48 77 71

迈克2537 87 97 95

鲍勃2415 40 57 62

awk手册


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-176501-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 谭舜
      谭舜

      不存在蛆虫生存条件

    • 卞王振
      卞王振

      一会儿又说是伊拉克对几个谋杀萨达姆的刺客判处了死刑要入侵伊拉克并依此为由绞死了萨达姆

    热点图片
    拼命载入中...