これはhtmlであり、htmlはgrep / sed / awkではなくhtmlパーサーで解析する必要があるため、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
エアルイケの弦も欲しいのは悲しいことですが、そうでなければ、
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>*'
が、私は構文を考えていなかったようです。たった 1回のエラーチェックで、すべてが壊れています。)