Или про жадность регулярных выражений. Чтение мануала не вдохновило, гуглинг не помог.
Что имеется: строка WM_CLASS(STRING) = «xterm», «UXTerm»
Что требуется: вырезать из этой строки xterm и UXTerm
/Убирать все лишние символы, и втыкать awk, — не интересно. Разделить сразу эту кашу на две части (до запятой и после) — тоже/
Я хочу вырезать подстроку «xterm», «UXTerm». Делаю так:
sed -r 's/^.*((\").+\2)$/\1/g'
sed -r 's/^.*?((\").++\2)$/\1/g'
Задачу можно решить иначе: вырезать от начала строки до первого символа \", но опять же — жадность.