Вырезать текст в наборе из двух слов - PullRequest
0 голосов
/ 19 апреля 2019

Я использовал jq для извлечения значения из файла JSON. Я сохранял значения в переменной в виде строки

var=$(Jq-command)
# var now contain
# "Serge" "Haroche" "David J." "Wineland"

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

output:
Serge Haroche
David J Wineland

Я новичок, мне не очень комфортно с awk / sed, и я не могу с вырезом.

1 Ответ

2 голосов
/ 19 апреля 2019

попробуйте этот сценарий sed

var='"Serge" "Haroche" "David J." "Wineland"'
echo $var|sed -n 's/"\([^"]\+\)" "\([^"]\+\)" */\1 \2\n/gp'

выход

Serge Haroche
David J. Wineland

чтобы удалить последний \ n

echo -n $var|sed -n 's/"\([^"]\+\)" "\([^"]\+\)" */\1 \2\n/gp'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...