首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >具有n个零的填充列,并修剪多余的值

具有n个零的填充列,并修剪多余的值
EN

Stack Overflow用户
提问于 2019-03-11 23:52:01
回答 3查看 68关注 0票数 4

例如,原始数据文件

file.org

代码语言:javascript
复制
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

代码语言:javascript
复制
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

请帮帮忙。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-03-12 01:57:51

代码语言:javascript
复制
$ 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
票数 2
EN

Stack Overflow用户

发布于 2019-03-12 00:04:43

下面的awk将完成此任务:

代码语言:javascript
复制
awk -v n=3 '{a[NR]=$2; $2=a[NR-n]+0}1' file
票数 3
EN

Stack Overflow用户

发布于 2019-03-12 04:36:24

如果您想尝试使用Perl,

代码语言:javascript
复制
$ 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

$
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55105657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档