【发布时间】:2018-11-21 14:47:29
【问题描述】:
我有一个输入文件:
Line 1 a
Line 2 b
Line 3 c
Line 4 d
Line 5 e
Line 6 f
Line 7 g
Line 8 h
Line 9 i
Line 10 j
Line 11 k
Line 12 l
Line 13 m
Line 14 n
Line 15 o
Line 16 p
Line 17 q
.
.
.
我想用 sed 在特定的行间隔中插入,比如在文件的第 3 行和第 17 行之间,每 4 行替换每行的最后一个单词的单词。
在这种情况下,假设我想将Z 放在文件的第 3 行,然后是文件的第 7 行(即 3+4),然后是文件的第 11 行(即 7+4 ),然后是文件的第 15 行(即 11+4)。
有没有办法用 sed 做到这一点,但只打开一次我想要更改的文件?
预期的输出是:
Line 1 a
Line 2 b
Line 3 Z
Line 4 d
Line 5 e
Line 6 f
Line 7 Z
Line 8 h
Line 9 i
Line 10 j
Line 11 Z
Line 12 l
Line 13 m
Line 14 n
Line 15 Z
Line 16 p
Line 17 q
.
.
.
【问题讨论】:
-
在 sed 之外生成所需的行:例如
seq 46 44 180。使用它来生成 sed 命令。
标签: sed