Учитывая, что у меня что-то вроде этого:
int val; struct node *mhm;
int val; struct node *next;
Я хочу извлечь содержимое в каждой строке, используя sed, awk или grep, чтобы они читали:
init->val = val; init->mhm = mhm;
init->val = val; init->next = next;
grep -o выводит каждый отдельный результат в новую строку, но мне нужно сохранить структуру строки (каждая группа переменных ссылается на отдельную вещь).
В настоящее время я использую команду gnu sed, но хочу тольковывести замененную строку:
sed -re 's/([A-Za-z0-9_]*);/init->\1 = \1;/g'
Эта команда sed выводит:
int init->val = val; struct node *init->mhm = mhm;
int init->val = val; struct node *init->next = next;
Даже при использовании не жадных модификаторов я не могу получить оператор регулярного выражения полной строки для успешного выбораимя каждой переменной в каждой строке.