本文介绍了如何打印每第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?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!