0

当遇到需要像 sed 这样的过滤机制的问题时,如何分析或建模问题,以便使用 sed 解决它?我问这个问题是因为我发现将解决问题的 sed 程序解构为其分析成分对我来说非常困难。对涉及过滤和循环的 sed 解决方案空间进行分析真的让我失望。

4

1 回答 1

0

您应该以 sed 的工作方式思考(读取一行,处理它并转到下一行),因此基本上 sed 查找和更改字符模式 sed 可以使用行的累积缓冲区(1 个缓冲区作为内存,1 个缓冲区用于直接操作) 并且它们可以像添加到另一个一样被操纵,也可以替换或交换,替换后会发生测试机制

一件大事是,默认情况下 sed 一次只能工作 1 行。它从输入中读取腰线并对其进行处理,然后进入下一个循环。这意味着,在没有缓冲的情况下,线路上没有回车,并且一条线路无法“看到”另一条线路。

sed 对于非常简单的任务非常有效,可以做非常艰苦的工作(如游戏),但需要不像 ac/pascal/awk/shell 脚本那样思考,并且通常您需要通过临时情况,例如添加 think 或用临时模式替换在回到你所期望的有点像在计算方面进行反向波兰语之前。最好是给我们一个小的概念问题,然后我们尝试向您展示我们(通常有几种方法)解决它的方式

于 2013-11-03T10:32:09.687 回答