快速业务通道

Shell编程作业-awk

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-30
说明:题目中引用的文件名为/etc/passwd和a,passwd记录了系统用户信息,a的内容是随意的打了几行英文,原文如下: Red Hat Enterprise Linux Version 5.3
Get the latest news about the world''s Open Source Leader
Red Hat Network
Manage your system dffectively through Red Hat Network
Global Learning Services
You''ve got Red Hat Enterprise Linux,now get the skills
check out Red Hat''s training courses and industry-acclaimed
2009082301
#This is a test456 line
space test123 line234
1.编写一个awk脚本,功能是打印所有输入行
[root@Siegfried test]# awk ''{print}'' a 2.编写一个awk脚本,打印输入文件第八行
[root@Siegfried test]# awk ''NR==8{print}'' a 3.用awk命令打印文件所有行的第一个字段
[root@Siegfried test]# awk -F ''{print $1}'' a 4.打印输入行总数
[root@Siegfried test]# awk ''END{print NR}'' a 5.打印每行字段数
[root@Siegfried test]# awk -F ''{print NF}'' a 6.打印一行的一个字段的值
[root@Siegfried test]# awk ''END{print $NF}'' a 7.打印字段数多于4个的行
[root@Siegfried test]# awk ''{if(NF>4) print NR}'' a 8.打印文件所有字段的总数
[root@Siegfried test]# awk -F ''BEGIN{num=0; sum=0}{num=NF; sum=sum num}END{print sum}'' a 9.打印uid在30--40范围内的用户名
[root@Siegfried test]# awk -F: ''{if($3>=30&&$3<=40)print $1}'' /etc/passwd 10.倒序排列文件的所有字段
#!/bin/awk -f
BEGIN{
FS=" "
} { for(i=NF;i>0;i--){
printf("%s%s",$i,FS) }
printf("n")
}
11.打印3-8行
[root@Siegfried test]# awk ''{if(NR>=3&&NR<=8)print}'' a 12.在文件顶部加上标题“Document”
[root@Siegfried test]# awk ''BEGIN{print "Document"}{print}'' a 13.隔行删除
[root@Siegfried test]# awk ''{if(NR%2==0) print}'' a
[root@Siegfried test]# awk ''{if(NR%2==1) print}'' a 14.每行抽取第一个单词
#!/bin/awk -f
BEGIN{
FS=" " } {
print $1 } 15.打印每行的第一个和第三个单词
#!/bin/awk -f
BEGIN{
FS=" " } {
print ($1" "$3) }
16.打印字段数大于5个的行总数
[root@Siegfried test]# awk -F ''BEGIN{num=0}{if(NF>5)num }END{print num}'' a

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号