gpt4 book ai didi

linux - Cat 标题并使用 awk 重命名列标题?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:57:33 27 4
gpt4 key购买 nike

我有一个这样的输入文件 (input.txt):

name value1 value2
A 3 1
B 7 4
C 2 9
E 5 2

还有另一个包含名称列表的文件 (names.txt),如下所示:

B
C

使用 grep -f,我可以获得名称为“B”和“C”的所有行

grep -wFf names.txt 输入.txt

得到

B 7 4
C 2 9

但是,我想将标题保留在输出文件的顶部,并将列名“name”重命名为“ID”。使用 grep,保留名称为 B 和 C 的行,输出应该是:

**ID** value1 value2
B 7 4
C 2 9

我认为 awk 应该能够完成此操作,但作为 awk 的新手,我不确定如何处理此问题。帮助表示赞赏!

最佳答案

虽然在 awk 中确实可以做到这一点,但解决实际问题的最快方法是在 grep 输出前简单地添加所需的 header 。

echo **ID** value1 value2 > Output.txt && grep -wFf names.txt input.txt >> Output.txt

更新 由于 OP 有多个文件,我们可以修改上面的行,改为从输入文件中提取第一行。

head -n 1 input.txt | sed 's/name/ID/' > Output.txt && grep -wFf names.txt input.txt >> Output.txt

关于linux - Cat 标题并使用 awk 重命名列标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30021550/

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