awk文本处理总结(入门篇)
awk处理文本总结 - Alex.Wang??????????? 2008-2-19 15:55 作为技术支持工程师,我们最最经常的工作就是要处理文本文件,不管是什么数据库最后都可以导成文本,我们就可以对他进行处理了,这样即使你不是对所有数据库操作都很熟悉,也可以对他的数据进行处理了。 我们必须的工具有两个:一个是shell,一个是awk。awk对于处理文本文件是最最适合的,掌握了awk我们就可以很方便的处理文本文件;再借助一些shell命令,我们可以很方便得到自己想要的结果。现在从简单的例子来总结一下我觉得会经常碰到的问题。
awk入门篇 在unix环境中我们可以使用一下命令来打印出第一列 ??? 得到的结果是如下,解释一下"'{" 单引号大括号包含awk语句是为了和shell 命令区别,$1的意思就是文本文件的第一列,正常的awk命令跟随-F参数指定间隔符号,如果是空格或tab键就可以省略了。??? [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 在来一个初级的又增加了一个“if($5>20 || $5==10)”??? 做逻辑判断逻辑判断的三个“|| && !” 或、与、非三个可以任意加到里面,这个语句的意思是如果第5列大于20或者等于10的都显示处理,在我们的工作中可能有用户会要求找出所有空间大于多少的或者是空间等于多少的账户然后再做批量修改。 if是awk循环中的一个还有其他很多,man awk可以看到, ????????????? if (condition) statement [ else statement ]
了解每个符号的意义我们才能更好的使用awk,最开始先记住几个命令知道他可实现的结果我们慢慢的再去理解。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |