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

前端之家收集整理的这篇文章主要介绍了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.

猜你在找的Bash相关文章