Linux文本处理三剑客——awk详细用法
awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息。
awk处理过程: 依次对每一行进行处理,然后输出 。 awk命令形式: [-F|-f|-v] 大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=value awk的特殊符号: print:是awk打印指定内容的主要命令(标准化输出) 下面举几个例子,能更便于理解!!! 这里是通过awk把/etc/passwd 中的用户名拿到,其中 ‘{}‘ 是固定格式。 -F: 是选定以:作为分隔符,如果是以空格作为分隔符,则直接默认不用写。 2、 这个例子则是把/etc/passwd下的gid和uid拿出来。printf是格式化输出,默认不会换行,而其中的“n”和“t”则是换行及有一个table键的距离。 3、 这个例子中NR是指行号,但$NR是默认每一行的结尾的那个字符段。$0是匹配的整行。 4、 这是BEGIN以及END的格式及应用,其中的{FS=":"}和-F:是相同的。后面打印的this are usernames,在最后一行打印。 5、 这是通过给X赋值的方式,来寻找/etc/fstab中的空行数。 6、 这个例子是计算uid的总和 7、 在awk中可以使用if判断和for循环,其中<(小于)、>(大于)、>=(大于等于) 8、 是通过~进行匹配,只匹配以lpp或者root开头的行数 9、 uid和gid的和如果大于二百输出 10、 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |