抱歉,如果以下内容混乱或有更清洁的方法可以做到这一点,我仍在学习!
我正在使用 CURL 来抓取带有数字/HTML 的页面,以使用以下命令访问带有数字的表格
echo $curlo | awk '/<th>00/ { match($0, /<th>00/); print substr($0, RSTART - 10, RLENGTH + 40000); }' | sed 's/d1ffce/\'$'\n/g'| sed 's/88ff7f/\'$'\n/g' | grep -o '[0-9]*'
要从 th00 开始输出,打印接下来的 40000 个字符(页面大小不同,但永远不会那么高),替换一些十六进制颜色代码,然后只打印出所有数字
但是 th00 会随着小时更改为 th01、02 等,所以我正在尝试使用变量。为了测试我设置 cnt=00 并在命令中用变量替换它
echo $curlo | awk '"/<th>$cnt/" { match($0, "/<th>$cnt/"); print substr($0, RSTART - 10, RLENGTH + 40000); }' | sed 's/d1ffce/\'$'\n/g'| sed 's/88ff7f/\'$'\n/g' | grep -o '[0-9]*'
但输出完全不同。如果我回显 $cnt 它打印 00 罚款。我也试过将整个 th00 放在 cnt 变量中,同样的问题。
为了比较,当我使用第一个命令时,我得到 382 行,当我使用第二个命令时,我得到 896
这是使用 bash shell 顺便说一句