Я хочу зробити не жадібний шаблон (регулярний вираз), що відповідає 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
пробіл комами та пробілами, а потім пробіл, а=
потім пробіл, за яким{
слідує будь-який, без якого}
слід}
, хоча для цього потрібно (крім усього іншого), що ви не можете гніздоватись{}
всередині= { ... }
частини.