是否有像`column`这样的Unix样式命令格式化为表格?

时间:2014-12-03 17:38:13

标签: unix command-line-interface

是否有一个命令行工具,它采用分隔符分隔值的行并将它们排列在SQL样式的表中?如,

id,name
1,apple
2,banana
3,yogurt

 id |  name    
----+---------
  1 | apple
  2 | banana
  3 | yogurt

1 个答案:

答案 0 :(得分:1)

使用format声明:

输入文件

$ cat file.scv
id,name
1,apple
2,banana
3,yogurt

<强>代码

$ cat  ./format-STDIN.pl
#!/usr/bin/env perl

use strict; use warnings;

sep();

while (<>) {
   $. == 2 and sep(); 
   format STDOUT =
|@<< | @<<<<<<<<<<<|
   split /,/
.
   write;
}

sep();

sub sep{ print "+----+-------------+\n"; }

<强>输出

$ ./format-STDIN.pl file.csv
+----+-------------+
|id  | name        |
+----+-------------+
|1   | apple       |
|2   | banana      |
|3   | yogurt      |
+----+-------------+