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:][]那么
。