linux 中实现依据列名提取数据

 

001、

root@PC1:/home/test/test# ls
a.txt
root@PC1:/home/test/test# cat a.txt                           ## 测试数据
a       b       c       d
3       8       6       9
0       r       k       3
root@PC1:/home/test/test# awk '{for(i = 1; i <= NF; i++){if(NR == 1 && $i == "b") idx =  i} {printf("%s", $idx)} {printf("\n")}; }' a.txt  ## 提取列名为b的数据
b
8
r
root@PC1:/home/test/test# awk '{for(i = 1; i <= NF; i++){if(NR == 1 && $i == "d") idx =  i} {printf("%s", $idx)} {printf("\n")}; }' a.txt  ## 列名为d
d
9
3

 

posted @ 2022-08-16 17:56  小鲨鱼2018  阅读(261)  评论(0编辑  收藏  举报