![awk中如何设计表格?](https://linux22.com/image/45112/awk%E4%B8%AD%E5%A6%82%E4%BD%95%E8%AE%BE%E8%AE%A1%E8%A1%A8%E6%A0%BC%EF%BC%9F.png)
我的输入文件是file1
count month
505 Apr-2010
252 Mar-2010
426 Feb-2010
201 Jan-2010
211 Dec-2009
相同的文件我想要如下所示的输出
+-------+----------+
| count | month |
+-------+----------+
| 505 | Apr-2010 |
| 252 | Mar-2010 |
| 426 | Feb-2010 |
| 201 | Jan-2010 |
| 211 | Dec-2009 |
+-------+----------+
答案1
这将适用于您的输入:
BEGIN {
n=0
sep="+-------+----------+"
}
{
if (/^$/) {
print sep
} else if (n==0) {
print sep
print "| "$1" | "$2" |"
} else {
print "| "$1" | "$2" |"
}
n++
}
END {
print sep
}
它不执行任何自动对齐,因此如果任何字段宽度增加,它就会中断。看一眼这个帖子用于自动对齐。