2.5. 掌握sed和awk的四个障碍

未匹配的标注

掌握sed和awk的四个障碍

有许多入门的 UNIX 书籍会让你熟悉 sed 和 awk。这本书的目标是让你走得更远——帮助你精通 sed 和 awk 来减少你达到目标所需要的时间和努力。

在精通 sed 和 awk 的征途上有四个障碍。你必须学习:

  1. 如何使用 sed 和 awk。这是一个相对低的待清除障碍。因为——幸运的是—— sed 和 awk 工作方式很相似,都是基于被编辑的行。第二章——理解基本操作——就讲述了如何使用 sed 和 awk。
  2. 应用 UNIX 正则表达式语法。使用 UNIX 正则表达式语法来进行模式匹配,对于 sed 和 awk 还有许多其他的 UNIX 程序都是很常见的。这是一个困难的障碍,原因有二:1)语法很晦涩难懂。2)虽然许多人有一些使用正则表达式的经验,但很少有人能坚持去精通整个语法。你对这个语法越熟悉,使用 sed 和 awk 就越容易。这就是为什么我们在第三章——理解正则表达式——花了很多时间来讲正则表达式。
  3. 如何与 shell 交互。虽然不是和 sed 和 awk 本身直接相关,但管理与命令 shell 的交互经常让人沮丧,因为 shell 和这两个程序共享了许多特殊字符。如果你可以,就将你的脚本放到独立的文件来避免这个问题。如果不行,就要为你的脚本使用 Bourne-compatible shell (引用规则更直接)并且使用单引号来包含你的脚本。如果你在交互式 shell 中使用 csh 记得使用 反斜杠对叹号进行转义(“\!”)。没有其他办法能够让 csh 单独留下叹号。
  4. 编写脚本的技能。这是最难的,相当于一系列的高阶跨栏。因为这个原因,这本书的大部分都致力于脚本编写。使用 sed 你需要学习一套单字母命令,使用 awk 你不得不学习一个编程语言的语句。然而,为掌握脚本编写的诀窍,你绝对需要尽可能多地研究例子,当然,还需要亲手去写自己的脚本。

如果你在参加跨栏比赛,能跨过去并不能赢——迅速地跨过去才可以。类似的,在脚本编写中,学习脚本命令集或语言仅仅是跨过去,掌握用你的脚本来解决问题的能力,才是迅速的奔跑去赢得胜利。

奥运冠军刘翔曝光近照:曾两次退赛历经两段婚姻,如今幸福美满

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~