2014-04-14 48 views
0

根据最大列长度格式化输出。我怎样才能做到这一点?如何根据最大列长度格式化输出

shell脚本或任何工具都很好。

输入

| date | ID | Typ | Actn | 
| 11/29/13 | ID660011 | DP | A | 
| 11/29/13 | ID660| DP | A | 

输出

| date | ID  | Typ| Actn| 
| 11/29/13| ID660011 | DP | A | 
| 11/29/13| ID6600123| DP | A | 

编辑:

如果我使用列-t,这些都是错误的:
$列-s -t '|' -o '|' INPUT_FILE .feature> INPUT_FILE _check.feature
柱:非法选项 - Ø
用法:列[-tx] [-c列] [-s月] [文件...]

$ $回声SHELL在/ usr/local/bin目录/ bash的

$列-t INPUT_FILE .feature> INPUT_FILE _check.feature列: 线过长

+0

任何特定的shell? –

+1

你可以这样做:'column -t file' – anubhava

+0

@ScottHunter bash是可取的,但是,任何shell都可以。 –

回答

0

在你的shell终端,试试这个:

$ awk ' 
{ 
    for(i=1;i<=NF;i++) 
    printf("%-40s%c", $i, (i==NF) ? ORS : "") 
}' FS=, file.txt