我有一个逗号分隔的文件,看起来类似于他的格式:
aa.com,1.21.3.4,string1 string2 K=12 K2=23 K3=45 K4=56
bb.com,5.6.7.8,string1 string2 K=66 K2=77 K3=88 K4=99
我想取第三列,其中包含用空格分隔的字符串。我想处理文件以用逗号分隔第三列的前两个字符串,并忽略第 3 列中的其余字符串。前两个字段不包含空格。请注意,第 3 列中的字符串数量并非对所有记录都是固定的。在此示例中,它是由 5 个空格分隔的 6 个字符串。但它可以或多或少。
我所需要的只是取第 3 列的前两个字符串,用逗号分隔它们,然后忽略第 3 列的其余字符串。
aa.com,1.21.3.4,string1,string2
bb.com,5.6.7.8,string1,string2
尝试:
如果在这种情况下,您在第一个或第二个字段中有空格,您会这样做:
解释:读入man
awk
:尝试这个:
你可以这样做:
F "[, ]"
将空格和逗号作为字段分隔符,;OFS=","
并将输出字段分隔符设置为逗号。