Bir html dosyasından çapa etiketlerini ayıklamak için bir regex kodu yazdım ve bu çıktıyı aldım.Bu sed sözdizimi sorunu nasıl çözülür
mdlinks.txt
<a href='/aspnet/aspnet_refhtmlcontrols.asp'>ASP.NET Reference</a>
<a href='/aspnet/webpages_ref_classes.asp'>Razor Reference</a>
<a href='/html/html_examples.asp'>HTML Examples</a>
<a href='/css/css_examples.asp'>CSS Examples</a>
<a href='/w3css/w3css_examples.asp'>W3.CSS Examples</a>
<a href="/js/js_examples.asp" target="_top">JavaScript Examples</a>
<a href="/js/js_dom_examples.asp" target="_top">HTML DOM Examples</a>
ben sed aracını kullanarak "görüntülenecek metin"
olarak çıktı temsil etmek zorunda.
Bu, metin ve href bağlantısını yakalayan benim düzenli ifademdir.
İşte ben
sed -E "s/\"<a[\s]href=('|\")([^>]+)\">((?:.(?!\<\/a\>))*.)<\/a>\"/\[\2\] \(\1\)/" mdlinks.txt
yazdı sed komutu Ama bu bana hata veriyor. Lütfen biraz yardımcı olabilir misiniz? Html'yi satır yönelimli araçlarla ayrıştırma normalde başarısız olur.
Hangi hata alıyorum? Ve istenen çıktı neye benziyor? – tink
Sed veya başka bir standart UNIX aracı tarafından desteklenmeyen bazı regexp değişkenlerini kullanmaya çalışıyorsunuz (belki de bir PCRE? Idk). [Mcve] yayınlayın, size yardımcı olabiliriz. –
Yakalamayan grupları '(?:)' Sed ile kullanamazsınız. –