bash – 打印与命令行匹配字符串的列名

我想输入字符串名称(即“COL2”)到awk或cut命令,并打印与该列标题字符串匹配的列.

数据文件如下所示:

COL1 COL2 COL3 COL4 COL5 COL6

a a b d c f

a d g h e f

c v a s g a

如果我通过COL3,我想要打印第三列等.我在想awk可能是最简单的使用,但剪切也可以工作.我只是不知道如何去做这个.

Awk 1班以上问题(如果您有兴趣):
awk -v col=COL2 'NR==1{for(i=1;i<=NF;i++){if($i==col){c=i;break}} print $c} NR>1{print $c}' file.txt

awk -v col=COL3 'NR==1{for(i=1;i<=NF;i++){if($i==col){c=i;break}} print $c} NR>1{print $c}' file.txt

只需将列名COL1,COL2,COL3等通过-vcol = flag.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...