如何使用unix格式化文本文件中的详细信息

如何使用unix格式化文本文件中的详细信息

这是带有“逗号”分隔符的输入文件。

$ cat dine_final.txt
FILENAME,FILESIZE,FILECOUNT
bur_m2_j12_re_yyyymmdd.dat,1235,1254
bur_m2_j13_re_yyyymmdd.dat,125,12546825
bur_m2_j14_re_yyyymmdd.dat,12565652425,125856
bur_m2_j35_re_yyyymmdd.dat,125,12
bur_m2_j40_re_yyyymmdd.dat,123542,1254
macys_unified_RE_prod_yyyymmdd.dat,12354,1254

我想要具有美观格式的输出。 “FILENAME”下的所有字段应以完全相同的开头开头,“FILESIZE”应以相同的字段开头,“FILECOUNT”应以相同的字段开头。

FILENAME                                FILESIZE        FILECOUNT
bur_m2_j12_re_yyyymmdd.dat              1235            1254
bur_m2_j13_re_yyyymmdd.dat              125             12546825
bur_m2_j14_re_yyyymmdd.dat              12565652425     125856
bur_m2_j35_re_yyyymmdd.dat              125             12
bur_m2_j40_re_yyyymmdd.dat              123542          1254
macys_unified_RE_prod_yyyymmdd.dat      12354           1254

答案1

awk -F, '{printf "%-39s %-15s %-15s\n", $1, $2, $3}' input
  • 告诉 awk 使用逗号作为字段分隔符
  • 以指定格式打印结果字段

我尝试调整字段宽度以匹配您的输出;根据需要调整它们。和-之间的表示字段左对齐而不是右对齐。%s

相关内容