首页 > Linux考试认证

linux认证辅导:awk文本处理总结

时间:2009-12-12 02:18:38  作者:  我要投稿
Linux初探欢迎您的投稿,投放方法请点击这里查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
作为技术支持工程我们最最经常的工作就是经常碰到要处理文本文件,不管是什么数据库最后都可以导成文本,我们就可以对他进行处理了,这样即使你不是对所有数据库操......

  作为技术支持工程我们最最经常的工作就是经常碰到要处理文本文件,不管是什么数据库最后都可以导成文本,我们就可以对他进行处理了,这样即使你不是对所有数据库操作都很熟悉也可以对他的数据进行处理了。

  我们必须的工具有两个一个是shell一个是awk,awk对于处理文本文件是最最适合的掌握了awk我们就可以很方便的处理文本文件再借助一些shell命令我们可以很方便得到自己想要的结果。现在从简单的例子来总结一下我觉得会经常碰到的问题。

  --------------------------------------------------------------------------------

  awk入门篇

  awk入门,文本内容example1.txt.

  user1 password1 username1 unit1 10

  user2 password2 username2 unit2 20

  user3 password3 username3 unit3 30

  在unix环境中我们可以使用一下命令来打印出第一列

  [root@mail awk]# awk '{print $1}' example1.txt

  得到的结果是如下,解释一下"'{" 单引号大括号包含awk语句是为了和shell 命令区别,$1的意思就是文本文件的第一列,正常的awk命令跟随-F参数指定间隔符号,如果是空格或tab键就可以省略了。

  user1

  user2

  user3

  [root@mail awk]# awk '{if($5>20) {print $1}}' example1.txt

  这行命令和上一行比较增加了“if($5>20)”,得到的结果是

  user3

  这个if语句就没有必要更详细的解释了吧!就是第5列大于20的显示出满足条件的第一列

  [root@mail awk]# awk '{if($5>20 || $5==10) {print $1}}' example1.txt

  user1

  user3

  在来一个初级的又增加了一个“if($5>20 || $5==10)” 做逻辑判断逻辑判断的三个“|| && !” 或、与、非三个可以任意加到里面,这个语句的意思是如果第5列大于20或者等于10的都显示处理,在我们的工作中可能有用户会要求找出所有空间大于多少的或者是空间等于多少的账户然后再做批量修改。

  if是awk循环中的一个还有其他很多,man awk可以看到,

  Control Statements

  The control statements are as follows:

  if (condition) statement [ else statement ]

  while (condition) statement

  do statement while (condition)

如果您需转载 linux认证辅导:awk文本处理总结,请注明来自LinuxGoo.com,其版权归原作者所有。请广大网友留言时遵纪守法,使用文明用语。如果您在应用中有什么问题,请在下面留言,我们会尽快解答。
来顶一下
近回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
相关文章
栏目热门