gpt4 book ai didi

awk - 通过 awk 删除空列

转载 作者:行者123 更新时间:2023-12-04 13:37:45 26 4
gpt4 key购买 nike

我有一个以制表符分隔的输入文件,但我想删除所有空列。空列:$13=$14=$15=$84=$85=$86=$87=$88=$89=$91=$94

输入:超过 90 列的 tsv 文件

a b   d e   g...  
a b d e g...

输出:没有空列的 tsv 文件

a b d e g....
a b d e g...

谢谢

最佳答案

这可能是您想要的:

$ printf 'a\tb\tc\td\te\n'
a b c d e

$ printf 'a\tb\tc\td\te\n' | awk 'BEGIN{FS=OFS="\t"} {$2=$4=""} 1'
a c e

$ printf 'a\tb\tc\td\te\n' | awk 'BEGIN{FS=OFS="\t"} {$2=$4=RS; gsub("(^|"FS")"RS,"")} 1'
a c e

请注意,上面的内容不会像某些潜在解决方案那样删除所有空列,它只会准确删除您要删除的列号:

$ printf 'a\tb\t\td\te\n'
a b d e

$ printf 'a\tb\t\td\te\n' | awk 'BEGIN{FS=OFS="\t"} {$2=$4=RS; gsub("(^|"FS")"RS,"")} 1'
a e

关于awk - 通过 awk 删除空列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50858215/

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