如何在unix中使用awk排列列

时间:2016-03-26 20:05:41

标签: unix

我正在尝试让我的列在我的UNIX代码中排成一行以显示某种图表,但它们只是继续向下一行而不是格式化为新的图表列。我需要它们使用AWK排队和格式化。有点像这样

#        Name                        ID #       Reg Method  Level      Cred   Email  

    ---  --------------------------  ---------  ----------  ---------  -----  ------ 
      1  Chapin, Kayla M.            AAAAAAAAA  Web         Undergrad  3.0    XXXXXXX
      2  Ding, Anqi                  AAAAAAAAA  Web         Undergrad  3.0    XXXXXXX 
      3  Fustich, Joshua             AAAAAAAAA  Web         Undergrad  3.0    XXXXXXX

What it looks like right now

1 个答案:

答案 0 :(得分:0)

在awk命令中使用printf

awk '{ printf "%3d %26s %9s %10s %9s %5s %20s \n", $1, $2, $3, $4, $5, $6, $7 }' file.txt

更多信息供参考

awk printf支持的数据类型

%i or d --Decimal
%o --Octal
%x --hex
%c --ASCII number character
%s --String
%f --floating number

填充选项

-n --Pad n spaces on right hand side of a column.
n --Pad n spaces on left hand side of a column.
.m --Add zeros on left side.
-n.m --Pad n spaces right hand side and add m zeros before that number.
n.m --Pad n spaces left hand side and add m zeros before that.