linux下awk的使用教程,linuxawk使用教程
linux下awk的使用教程,linuxawk使用教程
linux下awk的使用教程
AWK是一种优良的文本处理工具。其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母,AWK 提供了极其强大的功能:可以进行样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。它具备了一个完整的语言所应具有的几乎所有精美特性。实际上 AWK 的确拥有自己的语言:AWK 程序设计语言, 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。 相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 printf '%s\n' `cat abc.txt` printf '%s\n' $(cat abc.txt) printf '输出类型输出格式' 输出内容 输出类型: %s 输出字符串 %i 输出整数 %f 输出浮点数 输出格式: \n 换行 \t 制表符 例子: printf "%-5s %-10s %-4s\n" NO Name Mark printf "%-5s %-10s %-4.2f\n" 01 Tom 90.3456 printf "%-5s %-10s %-4.2f\n" 02 Jack 89.2345 printf "%-5s %-10s %-4.2f\n" 03 Jeff 98.4323 说明: %-5s 格式为左对齐且宽度为5的字符串代替(-表示左对齐),不使用则是又对齐。 %-4.2f 格式为左对齐宽度为4,保留两位小数。 printf '%s %s %s\n' a b c d e f printf '%5s %s %s\n' a b c d e f printf '%-5s %s %s\n' a b c d e f ------------------------------------------------------------------------------------------------------------- cut不够强大 df -h | cut -d ' ' -f 2 df -h | awk '{print $2}' awk命令格式 awk 'pattern1 {action1} pattern2 {action2} ...' filename awk默认的分隔符是空格或制表符 cat /etc/passwd | awk -F ':' '{print $0}' awk -F ':' '{print $2}' /etc/passwd awk -F ':' '1>5 {print $1} 2>1 {print $2}' /etc/passwd awk 'BEGIN {print "this file is /etc/passwd"} {print $0}' awk -F ':' 'BEGIN {print "this file is /etc/passwd"} {print $1}' /etc/passwd awk '{FS=":"} {print $1}' /etc/passwd awk 'BEGIN {FS=":"} {print $1}' /etc/passwd awk 'END {print "end of file"} {print $1}' /etc/passwd
评论暂时关闭