使用awk对齐柱

使用awk对齐柱,awk,multiple-columns,Awk,Multiple Columns,我尝试使用awk从包含210列的数据集中提取每9列。如果每列中的数据不包含相同数量的字符,如何使列均匀排列?使用for loop跳过不需要的列: awk '{ for(i=1;i<=8;i++) { printf "%s%s",$i,FS } for(i=10;i<=NF;i++) { printf "%s%s",$i,(i==NF?RS:FS) } }' file $awk'{ 对于(i=1;iIs,在awk中执行此操作并

我尝试使用awk从包含210列的数据集中提取每9列。如果每列中的数据不包含相同数量的字符,如何使列均匀排列?

使用
for loop
跳过不需要的列:

awk '{
    for(i=1;i<=8;i++) {
        printf "%s%s",$i,FS
    }
    for(i=10;i<=NF;i++) {
    printf "%s%s",$i,(i==NF?RS:FS)
    }
}' file
$awk'{

对于(i=1;iIs,在awk中执行此操作并将以固定宽度字体呈现时看起来整齐的内容写入标准输出是很重要的。如果不是,请使用awk、引号和逗号分隔写出数据,然后在电子表格程序中打开并从中打印出来。:)谢谢!我要试试:)我不确定我是否理解这个问题-在awk中,你不需要排列输入列,你只需要正确地定义哪个正则表达式可以用来分隔它们。你能举个例子吗?我不太理解这个要求。。。。
$ cat file
1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
$ awk '{
    for(i=1;i<=2;i++) {
        printf "%s%s",$i,FS
    }
    for(i=4;i<=NF;i++) {
    printf "%s%s",$i,(i==NF?RS:FS)
     }
}' file
1 2 4 5 6
1 2 4 5 6
1 2 4 5 6