linux初探

首页

应用服务器

Linux技巧

中文文档

Linux初级

服务器源代码

命令详解

Linux技术应用

Linux安全应用

Linux业界新闻

UniX技术文章

Linux编程与内核

Linux数据库

Linux服务器

Linux安装指导

Linux论坛

首页>>UniX技术文章>>文章正文

Awk 编程学习笔记之一

Awk 编程学习笔记之一

要求:按账号19位、姓名8位、工资8位来排列,且如姓名不足8位在之后补足,工资不足8位则在工资之前补。同时要求去掉工资为0的名单,没有账号在前补19位空格,并输出工资总数加以核对,处理后应如下排列:
4367422926350133100张三 1250.00
4367422926351220178李四 1300.00
苏五丙 1340.00
4367422926351220178孙六月 1390.00
…… ……
awk程序:
#------------------------------------
#shgz1.sh
sblank=" "
awk ?$NF!="0"{print $0}? $1 > tmp.txt #删除工资为0的人数
awk ?{
if($1!~/[0-9]/){
printf("%-19.19s%-8.8s%8.2f ","?"$kk"?",$1,$2)} #如果没有账号补上空格
else{
printf("%-19.19s%-8.8s%8.2f ",$1,$2,$3)}
}? tmp.txt > $2
awk ?$NF~/[0-9]/{
sum=sum+$NF
}
END{
system("rm tmp.txt")
printf("The sum is%16.2f! ", sum) #输出工资总数
}? $2
----------------------------------------

相关文章

·Solaris常用命令和例子
·Solaris下UMASK如何修改
·在Solaris系统环境中调节网卡参数
·AIX日常管理
·FREEBSD更新系统及编译内核
·FREEBSD 中安装Gnome
·UNIX应急响应攻略
·我的debian VS FreeBSD
·最简单,最实用的shell

热门文章

·第n个命令级集
·/usr/pkgsrc/devel/devhelp的
·中文Firefox安装
·我的FB6.1内核优化
·为FreeBSD添加新硬盘!
·freebsd平台下配置vhcs2教程
·freebsd内核详解
·我的debian VS FreeBSD
·Unix AWK 总结
·在AIX中如何对用户卷组进行卷

Copyright@2005 www.linuxGoo.com All Right Reserved