Как определить пробел в регулярном выражении (в 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
а также' '
но не сработало.
Я ценю, если кто-то может сказать мне, как изменить это регулярное выражение и включить пробел.