Pregunta

¿hay una manera fácil de combinar campos en awk? Específicamente, tengo líneas como esta:

1,2,some text
3,4,some text, but it has commas in it, annoyingly

Quiero extraer los dos números como los dos primeros campos, pero luego quiero que todo el texto (comas y todos) sea el tercer campo. ¿Hay alguna manera de hacer eso?

Mi llamada awk básica fue así:

awk -F\, '{print $1"|"$2"|"$3}' file.txt

Que funciona bien para la primera línea, pero se detiene en la coma en el texto de la segunda línea.

¿Fue útil?

Solución

Tal vez:

awk '{for (i=0;i<2;i++) sub(",", "|", <*>); print}' file.txt

Otros consejos

Podrías usar sed para hacerlo.

cat file.txt | sed 's/\(.?*\),\(.?*\),/\1|\2|/'
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top