模式空间上的下一个命令行为

时间:2018-04-15 21:41:35

标签: sed

假设下面是sed命令:

$ seq 4 | sed 'p;n;'
1
1
2
3
3
4

我无法理解为什么24会被打印一次

  

" n"命令将打印出当前的模式空间......

p;会在n;之前打印当前模式空间。

让我告诉你我的想法(O:输出,PS:模式空间):

 +------------+---------+-----------+
 | Current PS |   `p;`  |    `n;`   |
 +------------+---------+-----------+
 |     1      |   O=1   | O=1  PS=2 |
 +------------+---------+-----------+
 |     2      |   O=2   | O=2  PS=3 |
 +------------+---------+-----------+
 |     3      |   O=3   | O=3  PS=4 |
 +------------+---------+-----------+
 |     4      |   O=4   | O=4  PS=4 |
 +------------+---------+-----------+

我在n的定义中缺少什么,我希望24输出两次?

1 个答案:

答案 0 :(得分:2)

这就是:

// Custom styles fontNumberSource = replace(" ", "\+", fontNumber) @css @import url("https://fonts.googleapis.com/css?family="+fontNumberSource+":400,700"); 被读入PS。

1p已打印。

1n再次打印,1被读入PS。

迭代结束,打印2

2被读入PS。

3p已打印。

修改字符串以查看其打印原因:

3