Eu tenho um arquivo separado por vírgula que se parece com o formato dele:
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
Eu quero pegar a terceira coluna que contém strings separadas por espaços. Eu quero processar o arquivo para separar as primeiras duas colunas da terceira coluna por uma vírgula e ignorar o restante das strings na coluna 3. Os dois primeiros campos não contêm espaços. Observe que o número de strings na 3ª coluna não é fixo para todos os registros. Neste exemplo, são 6 strings separadas por 5 espaços. Mas pode ser mais ou menos.
Tudo o que eu preciso é pegar as primeiras duas strings da 3ª coluna, separá-las por uma vírgula e ignorar o restante das strings da coluna 3.
aa.com,1.21.3.4,string1,string2
bb.com,5.6.7.8,string1,string2
tentar:
Se nesse caso você tivesse espaços em branco no primeiro ou segundo campos, você faria:
Explicação: leia em man
awk
:Tente isto:
Você poderia fazer isso da seguinte forma:
F "[, ]"
Levará espaço e vírgula como separador de campo e;OFS=","
definirá o separador de campo de saída como vírgula.