2012-09-24 33 views
1

我有一个超过800列的文件,我想执行一些温和的列重排。特别是,我需要删除几列,并将最后一列作为第一列。用awk重新排列很多列

我以编程方式生成一个简单的awk脚本来执行重新排列。它看起来像下面这样:

{ 
    print $820,$2,$3,$4, [lots more here, but skipping a few], $819 
} 

在一台计算机上,这工作得很好。在另一台计算机上,只有在选择了几百列的情况下才有效,但对于更多的列,我会得到一个核心转储。有没有什么办法让这个更便携?

回答

1

安装gawk解决了这个问题...不确定以前使用的是什么版本的awk。

+0

默认awks:Debian:mawk; RedHat和其他许多人:gawk; Solaris:接近原始AT &T awk; AIX/HPUX:nawk line – MeaCulpa