我有一个输入文件,格式如下:
userA 3 5
userB 2 1
userC 1 3
userD 4 2
userE 5 4
我正在尝试按第二个数字列对文件进行排序,然后打印输出,看起来像这样:
Player Current Previous
------ ------- --------
userC 1 3
userB 2 1
userA 3 5
userD 4 2
userE 5 4
这是我到目前为止所做的:
#!/bin/bash
sort -k2 -n file.txt | head -n5 | \
awk 'BEGIN { print "Name Current Previous"
print "---- ------- --------" }
{ printf "%-10s %s\n", $1,$2,$3 }' | \
column -t
然而,这会显示输出而不显示第3列数字:
Player Current Previous
------ ------- --------
userC 1
userB 2
userA 3
userD 4
userE 5
我做错了什么?
答案 0 :(得分:4)
你的 printf 格式字符串缺少第三个%s ,请尝试修改它:
printf "%-10s %-10s %s\n", $1,$2,$3