Я пытаюсь написать для меня сложную script, где моя цель - сделать следующее. У меня есть строка, которая выглядит так:
2012 2013 "multiple words"
Моя цель - поместить каждый из них в массив, разделенный пробелами, но только для совпадений с одним словом, а не с двойными кавычками. Это следует рассматривать как одно слово. Поэтому я решил сделать это в два этапа. Сначала сопоставьте те слова, которые являются кратными, удалите их из строки, а затем в другой итерации, разделенной пробелом.
К сожалению, я не могу найти помощь, как echo
только совпадение. Пока у меня есть это:
array=$(echo $tags | sed -nE 's/"(.+)"/\1/p')
Но это приведет к (на OS X):
2012 2013 multiple words
Ожидаемый результат:
array[1]="2012"
array[2]="2013"
array[3]="multiple words"
Как мне решить эту проблему?
Спасибо.