Açgözlü olmayan desen (düzenli ifade) eşleştirme yapmak istiyorum awk. İşte bir örnek:
echo "@article{gjn, Author = {Grzegorz J. Nalepa}, " | awk '{ sub(/@.*,/,""); print }'
Kısa dizeyi seçen normal bir ifade yazmak mümkün müdür?
@article{gjn,
Bu uzun dize yerine ?:
@article{gjn, Author = {Grzegorz J. Nalepa},
Bu sonucu almak istiyorum:
Author = {Grzegorz J. Nalepa},
Başka bir örneğim var:
echo " , makale {gjn, Yazar = {Grzegorz J. Nalepa}," | awk '{sub (/ , [^,] *, /, ""); Yazdır }'
↑ ↑ ^ ^ ^ ^ ^
Ben değiştiğini Not @virgül (karakterler ,girdi dizesi ve düzenli ifade hem birinci pozisyonda) karakterler (ve de değişti .*için [^,]*). Kısa dizeyi seçen normal bir ifade yazmak mümkün müdür?
, Author = {Grzegorz J. Nalepa},
uzun dize yerine ?:
,article{gjn, Author = {Grzegorz J. Nalepa},
Bu sonucu almak istiyorum:
,article{gjn
AuthorArkasında boşluk virgül ve boşluk aşağıdaki ardından=ardından boşluk ardından{herhangi olmayan izledi}izledi}olduğunu sen iç içe olamazlar bu (diğer şeylerin yanı sıra) gerektirmesine rağmen,{}iç= { ... }kısmı.