Как определить пробел в регулярном выражении (в awk)?

Я хочу напечатать тексты внутри" ", например у меня есть следующие строки:

gfdg "jkfgh" "jkfd fdgj fd-" ghjhgj
gfggf "kfdjfdgfhbg" "fhfghg" jhgj
jhfjhg "dfgdf" fgf
fgfdg "dfj jfdg jhfgjd" "hfgdh jfdhgd jkfghfd" hgjghj

И я хочу напечатать только следующее:

"jkfgh" "jkfd fdgj fd-"
"kfdjfdgfhbg" "fhfghg"
"dfgdf"
"dfj jfdg jhfgjd" "hfgdh jfdhgd jkfghfd"

Я пробовал awk со следующим регулярным выражением:

awk '{for(i = 1; i <= NF; i++) if($i ~ /^\"[A-Za-z.$]*([A-Za-z.$][[:space:]]*[A-Za-z.$])*\"$/) print $i}' sample.txt

но он печатает все перед пробелом и фактически не распознает пробелы, которые я определил в своем регулярном выражении. Мой текущий вывод:

"jkfgh"
"kfdjfdgfhbg" "fhfghg"
"dfgdf"
"dfj

как видите, только те без пробелов печатаются правильно.

Я также пытался[[:blank:]], \t а также' ' но не сработало.

Я ценю, если кто-то может сказать мне, как изменить это регулярное выражение и включить пробел.

Ответы на вопрос(0)

Ваш ответ на вопрос