gpt4 book ai didi

shell - 在 awk 中按名称搜索列

转载 作者:行者123 更新时间:2023-12-01 11:45:18 25 4
gpt4 key购买 nike

我有一个包含许多列的文件。让我们说“Employee_number”“Employee_name”“Salary”。我想通过提供全部或部分列名来显示列中的所有条目。例如,如果我输入“姓名”,我希望打印所有员工姓名。是否可以使用 awk 以简单的方式执行此操作?
谢谢

最佳答案

给定一个脚本 getcol.awk如下:

BEGIN {
colname = ARGV[1]
ARGV[1] = ""
getline
for (i = 1; i <= NF; i++) {
if ($i ~ colname) {
break;
}
}
if (i > NF) exit
}

{print $i}

... 和输入文件 test.txt :
apple   banana  candy   deer    elephant
A B C D E
A B C D E
A B C D E
A B C D E
A B C D E
A B C D E
A B C D E

... 命令:
$ awk -f getcol.awk b <test.txt

...给出以下输出:
B
B
B
B
B
B
B

请注意,输出文本不包括测试文件的第一行,该行被视为标题。

关于shell - 在 awk 中按名称搜索列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15894142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com