例如,原始数据文件
file.org
:
1 2 3 4 5
6 7 8 9 0
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
在第2列中插入三个数据点(0),输出文件应如下所示
file.out
:
1 0 3 4 5
6 0 8 9 0
11 0 13 14 15
16 2 18 19 20
21 7 23 24 25
请帮帮忙。
发布于 2019-03-12 01:57:51
$ awk -v n=3 '{x=$2; $2=a[NR%n]+0; a[NR%n]=x} 1' file
1 0 3 4 5
6 0 8 9 0
11 0 13 14 15
16 2 18 19 20
21 7 23 24 25
发布于 2019-03-12 00:04:43
下面的awk
将完成此任务:
awk -v n=3 '{a[NR]=$2; $2=a[NR-n]+0}1' file
发布于 2019-03-12 04:36:24
如果您想尝试使用Perl,
$ cat file.orig
1 2 3 4 5
6 7 8 9 0
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
$ perl -lane ' BEGIN { push(@t,0,0,0) } push(@t,$F[1]);$F[1]=shift @t; print join(" ",@F) ' file.orig
1 0 3 4 5
6 0 8 9 0
11 0 13 14 15
16 2 18 19 20
21 7 23 24 25
$
https://stackoverflow.com/questions/55105657
复制相似问题