如何用awk打印表头列的序号?避免手动计数列号
快速获取表头列对应的awk序号
直接用这条命令即可输出表头每一列的名称及其对应的$n序号:
head -1 file | awk '{for(i=1;i<=NF;i++) printf "列名: %s, 对应序号: $%d\n", $i, i}'
命令解析
head -1 file:提取文件的第一行(表头行)awk部分:NF代表当前行的总列数,通过for循环遍历每一列printf格式化输出,把列名和对应的序号清晰展示出来
示例输出
如果表头行是col1 col2 col3 col4 col5 col6 col7 col8,运行命令后会得到:
列名: col1, 对应序号: $1
列名: col2, 对应序号: $2
列名: col3, 对应序号: $3
...
列名: col8, 对应序号: $8
这样你就能直接找到需要的列对应的序号,无需手动计数,直接复制到awk '{print $1, $8}'这类命令里使用。
内容的提问来源于stack exchange,提问作者Saeed
相关产品推荐
相关产品推荐

