我正在尝试让我的列在我的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
答案 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.