我用sed做了一个批处理,我无法尴尬地做到这一点。尴尬做到了吗?或者是选择的问题,并将其称为使用量的Awk和Sed同等用法。他们俩都进行了常见的搜索替换与I/O相似。有没有一个很好的例子用另一个可以做什么?

有帮助吗?

解决方案

一个主要区别是,尴尬程序可以维护状态并可以使用相同数据的多个通行证进行操作。 SED调用必然是无状态的单通道,因为SED(流编辑器)固有地面向流。但是,优点是,这使SED更简单,更适合在管道链中使用。

其他提示

在原始书(仍然是最好的)书中 尴尬编程语言, ,以下实施(除其他许多方面):

  • 一个简单的汇编程序
  • 递归下降编译器
  • 文本索引程序

尝试使用SED做到这一点。

g'day,

尴尬更强大。 SED往往会更限制它的作用。

SED非常适合基于线路的数据更改。它具有一些简单的循环构造,通常的ED/ex/vi Regexp的东西和替换内容,复合语句,决策等。大多数人将其用于修改管道数据。

尴尬非常适合过滤或重新安排数据。它主要用于报告。

我建议看看戴尔·多尔蒂(Dale Dougherty)的出色著作《塞德和尴尬》(消毒的亚马逊链接)。顺便说一句,它也有对Regexps的最佳解释之一。

许多人会说使用Perl! ( - :

编辑: 忘了说尴尬的语言非常c,鉴于Awk中的“ K”代表Brian Kernighan,这也就不足为奇了。是的。 布莱恩·克尼根!

此外,SED仅在数据流上工作,而尴尬在数据流和文件上都可以使用。

Hth

Cheers,SED仅在数据流上工作,而尴尬都可以在数据流和文件上工作。

我唯一能想到的是,SED可以在较少的炭中做几乎没有变化。因此,要快速调整现场外壳,它可以更快地键入。

SED是流编辑器,因此没有变量,还有其他一些像Awk一样的构造。 Awk是一种完全露面的语言。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top