Awk 每N行添加一个文本

Awk 每N行添加一个文本,awk,sed,Awk,Sed,我有一个文件logs.txt。我想在文件中插入文本finished 每四行。是否可以使用sed或其他工具 生成的文件如下所示 aaa bbb ccc finish ddd eee fff finish etc. 再处理两行,然后添加“finish”: 或者,使用GNU sed,您可以使用表示“从第3行开始,每3行重复一次”的地址: 再处理两行,然后添加“finish”: 或者,使用GNU sed,您可以使用表示“从第3行开始,每3行重复一次”的地址: 使用awk非常简单: awk '1; NR

我有一个文件
logs.txt
。我想在文件中插入文本
finished
每四行。是否可以使用
sed
或其他工具

生成的文件如下所示

aaa
bbb
ccc
finish
ddd
eee
fff
finish
etc.

再处理两行,然后添加“finish”:

或者,使用GNU sed,您可以使用表示“从第3行开始,每3行重复一次”的地址:


再处理两行,然后添加“finish”:

或者,使用GNU sed,您可以使用表示“从第3行开始,每3行重复一次”的地址:


使用
awk
非常简单:

awk '1; NR%3 == 0 { print "finish" }' file

使用
awk
非常简单:

awk '1; NR%3 == 0 { print "finish" }' file

或者我们也可以通过@anubhava sir在这里所做的反向方法,在第四行中打印文本,然后打印实际行内容

awk-v line=“4”
FNR%行==0{
打印“完成”
}
1.
'输入文件

或者我们也可以通过@anubhava sir所做的反向方法来完成,在第四行中打印文本,然后打印实际行内容

awk-v line=“4”
FNR%行==0{
打印“完成”
}
1.
'输入文件
awk '1; NR%3 == 0 { print "finish" }' file