2014-04-14 55 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