如何在bash上的字符串后找到文本

时间:2014-12-15 01:18:12

标签: bash

我有这个bash脚本并且工作

DIRECTORY='1.20_TRUNK/mips-tuxbox-oe1.6'

# Download html page and save to tmp folder to ump.tmp file
wget -O 'ump.tmp' 'http://download.oscam.cc/index.php?&direction=0&order=mod&directory=$DIRECTORY&'

ft='index.php?action=downloadfile&filename=oscam-svn'
st='-webif-Distribution.tar.gz&directory=$DIRECTORY&'

文件ump.tmp包含例如三个链接

<a href="index.php?action=downloadfile&amp;filename=oscam-svn10082-mips-tuxbox-webif-Distribution.tar.gz&amp;directory=$DIRECTORY&amp;"></a>

<a href="index.php?action=downloadfile&amp;filename=oscam-svn10081-mips-tuxbox-webif-Distribution.tar.gz&amp;directory=$DIRECTORY&amp;"></a>

<a href="index.php?action=downloadfile&amp;filename=oscam-svn10080-mips-tuxbox-webif-Distribution.tar.gz&amp;directory=$DIRECTORY&amp;"></a>

我需要在页面的第一个“a”链接中找到仅查找号码10082的解决方案。但这个数字是修正的。例如,每月运行脚本时,它可能会有所不同

我没有“cat”命令。我有接收器而不是linux。接收者有谜系统,而“猫”没有实施

我通过比较“sed”测试,但它不起作用。

sed -n "/filename=oscam-svn/,/-mips-tuxbox-webif/p" ump.tmp

2 个答案:

答案 0 :(得分:1)

“查找”有点模糊,但您可以使用grep从临时文件中获取其中包含数字10082的链接。

$ grep "10082" ump.tmp
<a href="index.php?action=downloadfile&amp;filename=oscam-svn10082-mips-tuxbox-webif-Distribution.tar.gz&amp;directory=$DIRECTORY&amp;"></a>

答案 1 :(得分:1)

使用正确的XHTML解析器:

$ xmllint --html --xpath '//a/@href[contains(., "downloadfile")]' ump.tmp 2>/dev/null |
    grep -oP "oscam-svn\K\d+"

但是在给定的HTML文件中没有这个字符串