Bash 获取在一列中包含空格和awk的字段

Bash 获取在一列中包含空格和awk的字段,bash,awk,Bash,Awk,我有这些数据: 1 GNFJCOLT INPET99999 SDFDSFSFLFSDFFFD9ETwAyDMDIxLjA0LjEyLjE1LjFwAA== 2 PARAINIT SDFFFtLmlibS50d3Mub2JqZWN0cy5wbGFuDSFIxLDxLjAwADE1FAA== 正如您所看到的,有时候第三列没有任何数据。我试图得到每行字段的值,如下所示: cat file | awk -F '[[:space:]][[:space:]]

我有这些数据:

1   GNFJCOLT   INPET99999   SDFDSFSFLFSDFFFD9ETwAyDMDIxLjA0LjEyLjE1LjFwAA==
2   PARAINIT                SDFFFtLmlibS50d3Mub2JqZWN0cy5wbGFuDSFIxLDxLjAwADE1FAA==
正如您所看到的,有时候第三列没有任何数据。我试图得到每行字段的值,如下所示:

cat file | awk  -F '[[:space:]][[:space:]][[:space:]]' '{ print $4}' . 
它给了我:

SDFDSFSFLFSDFFFD9ETwAyDMDIxLjA0LjEyLjE1LjFwAA==
但not给出了第二行的值(SDFFFtLmlibS50d3Mub2JqZWN0cy5wbGFuDSFIxLDxLjAwADE1FAA==)

你知道我怎么修吗?感谢您观看

1   GNFJCOLT   INPET99999   SDFDSFSFLFSDFFFD9ETwAyDMDIxLjA0LjEyLjE1LjFwAA==
2   PARAINIT                SDFFFtLmlibS50d3Mub2JqZWN0cy5wbGFuDSFIxLDxLjAwADE1FAA==

我注意到第4列的内容总是从同一个地方开始,如果这对整个文件都适用,您可以使用
cut-b
,如果您的文件名为
file.txt
,那么
cut-b29-file.txt
应该为该数据生成所需的输出:
{print$NF}
。也就是说,
awk'{print$NF}文件
,你不需要
-F'[[:space:][][:space:][[:space:][][:space:][]那么