我想在每隔一行的第5个元素前面添加一个换行符(\ n):
2, 0, 0, 0, 2
4, 0, 0, 0, 4
6, 0, 0, 0, 6
8, 0, 0, 0, 8
...为了得到:
2, 0, 0, 0, 2
4, 0, 0, 0, \n4
6, 0, 0, 0, 6
8, 0, 0, 0, \n8
到目前为止我在gawk中所做的不起作用:
gawk '{if (NR % 2) {$5=\n$5; print} else print}'
答案 0 :(得分:1)
你可以说:
awk '{NR%2 || $5="\\n"$5 }1' filename
请注意,您需要转义\
才能获得文字\
。
为了您的输入,它会产生:
2, 0, 0, 0, 2
4, 0, 0, 0, \n4
6, 0, 0, 0, 6
8, 0, 0, 0, \n8
或者,(正如@WilliamPursell指出的那样),你可以说:
awk '!(NR%2) {$5="\\n"$5 }1' filename