gpt4 book ai didi

linux - 使用 AWK/Perl 在 K 列为空时提取行

转载 作者:IT王子 更新时间:2023-10-29 00:23:49 25 4
gpt4 key购买 nike

我有这样的数据:

foo 78 xxx
bar yyy
qux 99 zzz
xuq xyz

它们是制表符分隔的。如何提取第 2 列为空的行,产生

bar    yyy
xuq xyz

我试过了,但似乎不起作用:

awk '$2==""' myfile.txt 

最佳答案

您需要专门将字段分隔符设置为TAB字符:

> cat qq.in
foo 78 xxx
bar yyy
qux 99 zzz
xuq xyz
> cat qq.in | awk 'BEGIN {FS="\t"} $2=="" {print}'
bar yyy
xuq xyz

awk 的默认行为是将SPACE(默认)的FS 视为特例。从手册页:

In the special case that FS is a single space, fields are separated by runs of spaces and/or tabs and/or newlines. (my italics)

关于linux - 使用 AWK/Perl 在 K 列为空时提取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2902462/

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