gpt4 book ai didi

awk - 如何使用 AWK 删除包含特定标题的所有列

转载 作者:行者123 更新时间:2023-12-05 01:14:16 26 4
gpt4 key购买 nike

我有一个 csv 文件,当然是用逗号分隔的,我想删除所有具有特定标题的列,例如:

voltage, current, power, voltage, current, power
2, 3, 6, 12, 12, 144
3, 5, 15, 10, 10, 100

应该是

voltage, power, voltage, power  
2, 6, 12, 144
3, 15, 10, 100

最佳答案

script.awk 的内容:

BEGIN {
FS=" , "
}

NR==1 {
for (i=1; i<=NF; i++) {
if ($i == "current") {
array[i]++
}
else {
printf (i != NF) ? $i", " : $i
}
}
}

NR>=2 {
for (j=1; j<=NF; j++) {
if (!(j in array)) {
printf (j != NF) ? $j", " : $j
}
}
}

{
printf "\n"
}

file.txt 的内容:

voltage , current , power , voltage , current , power
2 , 3 , 6 , 12 , 12 , 144
3 , 5 , 15 , 10 , 10 , 100

运行方式:

awk -f script.awk file.txt

结果:

voltage, power, voltage, power
2, 6, 12, 144
3, 15, 10, 100

关于awk - 如何使用 AWK 删除包含特定标题的所有列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12402951/

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