【发布时间】:2015-03-10 03:47:51
【问题描述】:
我可以使用 awk 打印文件中的第 n 列; cut 命令也可以做类似的事情.. 但我要求根据其名称获取列,例如:
col1 col2 col3 col4
2 5 3 1
6 4 7 1
3 6 5 9
7 9 7 8
如果我给出一个列名列表作为输入:例如col1, col3(将是一个很长的列名列表,所以如果输入可以是一个数组会有所帮助)
输出将是
col1 col3
2 3
6 7
3 5
7 7
有谁知道我如何在 bash 中做到这一点?
【问题讨论】:
-
将第一行(标题)读入数组:
array=( $(head -n+1 filename) )。然后,您可以循环遍历从匹配名称中选择要打印的字段编号的数组。