Bash 如何在Perl中提取Stackoverflow文章标题?

Bash 如何在Perl中提取Stackoverflow文章标题?,bash,perl,Bash,Perl,我想用sed、grep、awk等编写一个BASH脚本,从中提取问题的标题 例如: 哪个更快:while1还是while2? 将32位循环计数变量替换为64位会导致严重的性能偏差 下面是一个小程序,它获取页面,使用选择器查找右侧的a标记,并提取这些标记的文本: use v5.10; use open qw(:std :utf8); use Mojo::UserAgent; my $ua = Mojo::UserAgent->new; my $tx = $ua->get( 'http

我想用sed、grep、awk等编写一个BASH脚本,从中提取问题的标题

例如:

哪个更快:while1还是while2? 将32位循环计数变量替换为64位会导致严重的性能偏差 下面是一个小程序,它获取页面,使用选择器查找右侧的a标记,并提取这些标记的文本:

use v5.10;
use open qw(:std :utf8);

use Mojo::UserAgent;
my $ua = Mojo::UserAgent->new;

my $tx = $ua->get( 'https://stackoverflow.com/?tab=month' );
unless( $tx->success ) {
    die "Something wrong happened, so handle that";
    }

say $tx->res->dom('a.question-hyperlink')->map( 'text' )->join( "\n" );
该模块也附带有命令行的一行快捷方式:

perl -Mojo -E 'say g(shift)->dom("a.question-hyperlink")->map("text")->join("\n")' 'stackoverflow.com/?tab=month'

正如评论所指出的,这里没有删除HTML,而是有一个XML版本。你可以抓住它,用XPath选择一些东西。

我建议使用:Title说Perl,tag and question说Bash,然后你提到sed、grep、awk。。。是哪一个?我想回答这个问题。我不认为这是不清楚的,我有代码广告。这一行是甜蜜的,但我认为它需要一点解释它到底在做什么。i、 e.gshift是什么意思?gshift意味着对传递到一行程序中的url执行GET请求。