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
Author
Arkası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ı.