FreeTstar

loving Freedom + + loving Linux

  • 首页
  • Archive
  • 关于
  • 杂七杂八
  • 留言板
Twitter Sina RSS

unix shell范例精解第五章课后习题

发布于 2010年05月27日 由 freetstar
没有评论发表评论
Mike Harrington:(510) 548-1278:250:100:175
Christian Dobbins:(408) 538-2358:155:90:201
Susan Dalsass:(206) 654-3279:250:60:50
Archie McNichol:(206) 548-1348:250:100:175
Jody Savage:(206) 548-1278:15:188:150
Guy Quigley:(916) 343-6410:250:100:175
Dan Savage:(406) 298-7744:450:300:275
Nancy McNeil:(510) 548-5258:250:80:75
John Goldenrod:(916) 348-4278:250:100:175
Chet Main:(510) 548-5258:50:95:135
Tom Savage:(408) 926-3456:250:168:200
Elizabeth Stachelin:(916) 440-1763:175:75:300

上面这个数据库的记录内容包括姓名,电话号码和最近3个月的竞选捐款数额

注:以上内容被写进chapter5这个文档

1 打印所有的电话号码:
nawk -F[: ] '{print $4}' chapter5
2 打印Dan的电话号码:
nawk -F[: ] '{/^Dan/print $4}' chapter5
3 打印Susan的姓名和电话号码:
nawk -F[: ] '/^Susan/{print $1, $2,$4}' chapter5
4 打印所有以D开头的姓:
nawk -F[: ] '$2 ~ /^D/{print $2}' chapter5
5 打印所有以C或E开头的名:
nawk -F[: ] '$1 ~ /^[C|E]/{print $1}' chapter5
6 打印所有只有4个字母的姓:
nawk  -F[: ] '$2 ~ /^[A-Z][a-z][a-z][a-z]$/{print $2}' chapter5
7 打印所有916区的人的姓:
nawk  -F[:  ] '$3 ~ /916/{print $1 , $2}' chapter5
8  打印Mike的竞选捐款数额。打印时每个值都要要以美元符号开头,例如,$250,$100,$175
nawk  -F:  '$1 ~ /^Mike/{print "$"$3,"$"$4,"$"$5}' chapter5
9 先打印姓,然后打印一个逗号,再打印名:
nawk -F[:  ] '{print$2 "," $1}' chapter5

10 写一个名为facts的awk的脚本,完成以下操作:打印McNeil(Savages)的全名和电话号码;打印Chet的捐款数额;打印所有第一个月捐款250美元的人
原文中没有Savages,故以McNeil代替
(1)cat   facts.sc
#This is a comment
#This is really my frist wak script!If u got a better way,please contact me.
$5 ~ /250/{print "--the 250$-- " $1,$2}
$2 ~ /McNeil/{print "\t\t    McNeil's info\n\t\t "$1,$2,$4}
$1 ~ /Chet/{print "\t\t     Chet  ""$"$5+$6+$7}
(2)nawk -F[: ] -f facts.sc chapter5

感觉第十个问题解决得不够漂亮,由于nawk是对每一行单独处理的,导致输出的时候每想要的结果都是一行行自己列出来的,不整齐,待解决(可以尝试用sed)。

分类:PROGRAM
Ubuntu官方网站换装啦!
unix shell范例精解 — 课后习题

发表评论 取消回复

电子邮件地址不会被公开。 必填项已用 * 标注

*

*


疑问 开心 悲伤 邪恶 惊叹 微笑 脸红 笑 惊讶 惊奇 迷惑 酷 憨笑 生气 阴险 转眼球 眨眼 主意 箭头 中立 哭 大笑

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*
To prove you're a person (not a spam script), type the security word shown in the picture.
Anti-spam image

点击取消回复
第 1 页,共 1 页1
  • 欢迎订阅

  • Github

  • 近期评论

    • freetstar CHINA Mozilla Firefox Linux 发表在《留言板》
    • _Fly CHINA Google Chrome Linux 发表在《使用e4rat加速你的linux启动速度(ext4文件系统专用)》
    • walfred Mozilla Firefox Windows 发表在《留言板》
    • freetstar CHINA Mozilla Firefox Windows 发表在《用landslide创建html5 slide》
  • Spread Firefox Affiliate Button
  • 我的豆瓣

  • 链接表

    • 51开源社区
    • Adam's
    • delectate's blog
    • Don's
    • fl
    • ghostunix
    • Jasey Wang
    • Jerry's Blog
    • Moolight@Ericyue
    • OSMSG
    • panda
    • Pity is the Bomp
    • PT ubuntu
    • Tao Zhu
    • ubuntuhome
    • WOW!ubuntu
    • zhangzhfang
    • 丕字的blog
    • 傻东の学习笔记
    • 奶牛的blog
    • 孤风颠影
    • 弯柚博客
    • 熊猫党军委主席
    • 靖 轩
    • 马力哥
    • 黑孩儿
  • 我的支付宝

  • 功能

    • 登录
    • 文章 RSS
    • 评论 RSS
    • WordPress.org
© FreeTstar. WordPress 强力驱动 | Nest Theme by YChong