首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >还有什么理由去学习AWK吗?

还有什么理由去学习AWK吗?
EN

Stack Overflow用户
提问于 2008-09-20 08:20:18
回答 25查看 34.2K关注 0票数 121

我一直在学习新的工具,甚至是老式的工具,因为我喜欢用正确的方法来解决这个问题。

然而,我不知道是否还有任何理由去学习其中的一些。例如,awk对我来说很有趣,但是对于简单的文本处理,我可以使用grepcutsed等等,而对于复杂的文本处理,我将使用Python。

现在我并不是说这不是一个强大和方便的工具。但是,由于学习一个新工具需要时间和精力,值得吗?

EN

回答 25

Stack Overflow用户

回答已采纳

发布于 2008-09-20 08:31:51

我认为这取决于你所处的环境。如果你是一个*nix的人,那么了解awk是一件好事。在几乎每个*nix上都可以找到的唯一其他脚本环境是sh。因此,虽然grepsed,等在现代主流linux发行版上肯定可以取代awk,但当您转向更有异国情调的系统时,了解一点awk将是非常方便的。

awk还可以用于不仅仅是文本处理。例如,我的一位主管用awk编写天文学代码--这就是他的老派和了不起之处。在他的时代,这是最好的工作工具.现在,即使他的学生像我一样使用python和什么不使用,他仍然坚持他所知道的,并很好地工作。

最后,世界上有很多老代码,知道一点awk不会有什么坏处。它也会让你变得更好*-)

票数 104
EN

Stack Overflow用户

发布于 2009-03-31 21:38:15

如果您快速学习awk的基础知识,那么您确实可以在命令行上做一些令人惊奇的事情。

但是,学习awk的真正原因是有理由阅读阿赫、凯尔尼根和温伯格的精湛的书“AWK编程语言”。

在archive.org

你会认为,从名字上看,它只是教会了你知识。实际上,这只是个开始。一旦使用了一种简洁的脚本语言,使字符串操作变得容易--而awk是第一个问题之一,就可以着手解决大量的问题--它继续教读者如何实现数据库、解析器、解释器,以及(如果内存满足我的话)小型项目专用计算机语言的编译器!如果他们还用awk编写了一个示例操作系统的话,这本书将是计算机科学的一个相当完整的调查介绍!

著名的清晰和简洁,就像原来的C语言书,它也是一个很好的例子友好的技术写作做了正确的。即使是指数也是一项技艺。

Awk?如果您知道的话,您会偶尔在命令行使用它,但是对于更大的部分,您会感到被困住了,无法访问您的系统和Internet的更广泛的特性,比如Python提供的访问权限。但那本书?你一定会很高兴你读到的!

票数 116
EN

Stack Overflow用户

发布于 2008-09-20 08:28:14

我使用awk的唯一原因是自动拆分:

代码语言:javascript
复制
awk '{print $3}' < file.in

这将在file.in中打印第三个空格分隔的字段。这比:

代码语言:javascript
复制
tr -s ' ' < file.in | cut -d' ' -f3
票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/107603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档