我想在每行之前用sed或awk打印同一行

时间:2018-09-08 17:54:43

标签: awk sed

我想在第一行之前插入一个字符串,然后每隔一行添加一次。

之前:

a  
b  
c  
d  

之后:

INSERT  
a  
INSERT  
b  
INSERT  
c  
INSERT  
d  

谢谢。

5 个答案:

答案 0 :(得分:3)

使用GNU sed:

sed 's/.*/INSERT\n&/' file

sed 's/^/INSERT\n/' file

输出:

INSERT
a  
INSERT
b  
INSERT
c  
INSERT
d  

答案 1 :(得分:3)

使用GNU sed

$ sed 'i INSERT' file
INSERT
a
INSERT
b
INSERT
c
INSERT
d

答案 2 :(得分:1)

$ awk '{ print "INSERT" ORS $0 }' file
INSERT
a  
INSERT
b  
INSERT
c  
INSERT
d

答案 3 :(得分:1)

最短的awk应该是

awk '{print "INSERT"}1' file

在赛勒斯发表评论后,我意识到有一个简短得多的版本,短2个字符。

答案 4 :(得分:0)

请您尝试以下。

awk '{$0="INSERT" ORS $0} 1' Input_file

如果要在Input_file中保留空行,请执行以下操作。

awk 'NF{$0="INSERT" ORS $0} 1'  Input_file