如何打印每第4列至第n列,并从第(n + 1)列到最后用awk? [英] How to print every 4th column up to nth column and from (n+1)th column to last using awk?

查看:1004
本文介绍了如何打印每第4列至第n列,并从第(n + 1)列到最后用awk?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个空格分隔119列的数据集,喜欢选择列(3,7,11,...,47,51),(52,53,54,......,118,119)和打印他们到另一个文件。我怎样才能做到这一点使用AWK?

 输入文件C1 C2 C3 ... C119输出文件C3 C7 C11 C51 ... C52 C53 C54 ... C118 C119

感谢您的帮助。


解决方案

 的awk'{为(i = 3; I< = 51; I + = 4)的printf%S, $ I;对于(I = 52; I< = 119;我++){printf的%S,$ I};打印}'文件

I have a dataset with 119 columns separated by a space and like to select columns (3,7,11,...,47,51), (52,53,54,...,118,119) and print them out to another file. How can I do this using awk?

Input file 

c1 c2 c3...c119

Output file

c3 c7 c11 ... c51 c52 c53 c54 ... c118 c119 

Thanks for your help

解决方案

awk '{for(i=3;i<=51;i+=4) printf "%s ",$i ;for(i=52;i<=119;i++) {printf "%s ",$i} ;print ""}' file

这篇关于如何打印每第4列至第n列,并从第(n + 1)列到最后用awk?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆