【发布时间】:2016-12-11 10:01:47
【问题描述】:
我有一个 input.csv 文件,其中第 2 列和第 3 列的长度可变。
100,Short Column, 199
200,Meeedium Column,1254
300,Loooooooooooong Column,35
我正在尝试使用以下命令来实现干净的制表,但我需要用一定数量的空格填充第二列以获得固定长度的列(假设总长度为 30就够了)。
awk -F, '{print $1 "\t" $2 "\t" $3;}' input.csv
我当前的输出如下所示:
100 Short Column 199
200 Meeedium Column 1254
300 Loooooooooooong Column 35
我想通过正确填写第二列和第三列来实现以下输出:
100 Short Column 199
200 Meeedium Column 1254
300 Loooooooooooong Column 35
应该使用关于 awk 或 sed 命令的任何好主意吗? 谢谢大家。
【问题讨论】:
-
column -t input.csv或查看printf或awk的printf。 -
column -s, -t file应该这样做 -
@anubhava:谢谢。
-
@fedorqui FIELDWIDTHS 用于阅读,而不是用于写作,它对此无济于事。
-
@EdMorton 不错。注意到了,谢谢。