【发布时间】:2019-09-13 07:59:56
【问题描述】:
我无法理解 sed 如何读取下一行。
他是我的理解,请纠正我的错误
/pattern/p 所以这会逐行读取并打印是否匹配行
N;/pattern/d 所以这会一起读取两行,如果存在模式,则删除两者,在下一个循环中,sed 是否开始从第 2 行或第 3 行读取,并且行已经被 N 读取?
:a N; /pattern/{:b;n;/pattern/bb; ba}
现在在上面的情况下是内部循环。 n 多次读取下一行,如果然后返回 a。现在我的问题是当控制权回到 a 时,N 会读到什么
例子
这是示例文件
line 11
line 13
line 13
line 13
line 14
line 15
line 16
最初 N 将包含 . line 11 \n line 13 如果模式是 13 然后在内部循环中 n 再次读取下一行并返回直到 13 不存在然后返回到 a
现在我的问题是N 的值是多少?会是吗
line 14 \n line line 15 。或line 14 \n line 13
【问题讨论】: