¿Cómo definir un espacio en una expresión regular (en awk)?
Quiero imprimir los textos dentro de" "
. por ejemplo tengo las siguientes cadenas:
gfdg "jkfgh" "jkfd fdgj fd-" ghjhgj
gfggf "kfdjfdgfhbg" "fhfghg" jhgj
jhfjhg "dfgdf" fgf
fgfdg "dfj jfdg jhfgjd" "hfgdh jfdhgd jkfghfd" hgjghj
Y quiero imprimir solo lo siguiente:
"jkfgh" "jkfd fdgj fd-"
"kfdjfdgfhbg" "fhfghg"
"dfgdf"
"dfj jfdg jhfgjd" "hfgdh jfdhgd jkfghfd"
He intentado awk con la siguiente expresión regular:
awk '{for(i = 1; i <= NF; i++) if($i ~ /^\"[A-Za-z.$]*([A-Za-z.$][[:space:]]*[A-Za-z.$])*\"$/) print $i}' sample.txt
pero imprime todo antes del espacio y en realidad no reconoce los espacios que he definido en mi expresión regular. Mi salida actual es:
"jkfgh"
"kfdjfdgfhbg" "fhfghg"
"dfgdf"
"dfj
Como puede ver, solo los que no tienen espacio se imprimen correctamente.
También he intentado[[:blank:]]
, \t
y también' '
Pero no funcionó.
Agradezco si alguien puede decirme cómo cambiar esta expresión regular e incluir espacio.