如何使用 'cut' 命令过滤空行?

How to filter empty line with a 'cut' command?

我有一个包含几个字段的制表符分隔文件:

f1    f2   f3 
a     b    c
a     c     
d     e    
f     g    a

我想使用“剪切”命令提取第 3 列:

cut -f3 t

这行得通。但是,如何过滤输出中的空行?可以看到,第2行和第3行提取出来后是空的

删除空输出:

$ cut -f3 file | grep .
f3
c
a

或:

$ awk -F'\t' ' {print }' file
f3
c
a

要用填充符替换丢失的输出:

$ awk -F'\t' '{if () print ; else print "FILL"}' file
f3
c
FILL
FILL
a

或者,对于喜欢更紧凑的三元语句的人:

$ awk -F'\t' '{print (?:"FILL")}' file
f3
c
FILL
FILL
a

字段 3 中包含多个词的示例

$ cat file2
f1      f2      f3
f       g       a b c d
$ cut -f3 file2 | grep .
f3
a b c d
$ awk -F'\t' ' {print }' file2
f3
a b c d