由於它是html,並且html應該使用html解析器解析,而不是使用grep/sed/awk解析,所以可以使用我的Xidel的模式匹配功能。
xidel yourfile.html -e '<a class="yt-uix-sessionlink yt-user-name " dir="ltr">{$link := @href, $user := substring-after($link, "www.youtube.com/user/"), $name:=text()}</a>*'
或者,如果你想要一個像結果的CSV:
xidel yourfile.html -e '<a class="yt-uix-sessionlink yt-user-name " dir="ltr">{string-join((@href, substring-after(@href, "www.youtube.com/user/"), text()), ", ")}</a>*' --hide-variable-names
這是一種悲哀,你也想擁有airuike字符串,否則它會像
一樣簡單
xidel /yourfile.html -e '<a href="{$link}" class="yt-uix-sessionlink yt-user-name ">{$name}</a>*'
(你應該可以使用xidel '<a href="{$link:=., $user := filter($link, www.youtube.com/user/(.*)\', 1)}" class="yt-uix-sessionlink yt-user-name " dir="ltr">{$name}</a>*'
,但它似乎我沒有想過通過的語法。只是一個錯誤檢查,它打破了一切。 )
你有沒有用awk或者grep的?有更好的方法來解析HTML。 –
我不知道該怎麼做 – wenzi
[Google](http://google.com)是學習如何做不知如何做的事情的好資源。 – jahroy