Я хочу зробити не жадібний шаблон (регулярний вираз), що відповідає awk. Ось приклад:
echo "@article{gjn, Author = {Grzegorz J. Nalepa}, " | awk '{ sub(/@.*,/,""); print }'
Чи можна записати регулярний вираз, який вибирає коротший рядок?
@article{gjn,
замість цієї довгої струни ?:
@article{gjn, Author = {Grzegorz J. Nalepa},
Я хочу отримати такий результат:
Author = {Grzegorz J. Nalepa},
У мене є ще один приклад:
відлуння " , стаття {gjn, Author = {Grzegorz J. Nalepa}," | awk '{sub (/ , [^,] *, /, ""); друкувати} '
↑ ↑ ^^^^^
Зауважте, що я змінив @символи на символи кома ( ,) в першому положенні як вхідного рядка, так і регулярного виразу (а також змінив .*на [^,]*). Чи можна записати регулярний вираз, який вибирає коротший рядок?
, Author = {Grzegorz J. Nalepa},
замість довшої струни ?:
,article{gjn, Author = {Grzegorz J. Nalepa},
Я хочу отримати такий результат:
,article{gjn
Authorпробіл комами та пробілами, а потім пробіл, а=потім пробіл, за яким{слідує будь-який, без якого}слід}, хоча для цього потрібно (крім усього іншого), що ви не можете гніздоватись{}всередині= { ... }частини.