分页: 1 / 1

请教grep用法

发表于 : 2011-08-02 15:56
bus1234
有一段脚本:
c=`grep -oP '/page/1/\d{4}-\d{2}/01/A\d{2}/\d{8}A\d{2}_pdf.pdf' node_2.htm`
for i in {01..12}
do
url=` echo $c | grep -oP "/page/1/\d{4}-\d{2}/01/A<$i>/20110801A<$i>_pdf.pdf"`
#wget -c $url
done
其中url=` echo $c | grep -oP "/page/1/\d{4}-\d{2}/01/A<$i>/20110801A<$i>_pdf.pdf"`的$i好像不能这样使用,请教我该怎么用呢
/page/1/\d{4}-\d{2}/01/A<$i>/20110801A<$i>_pdf.pdf具体为:
/page/1/2011-08/01/A01/20110801A01_pdf.pdf
/page/1/2011-08/01/A02/20110801A02_pdf.pdf
/page/1/2011-08/01/A03/20110801A03_pdf.pdf
/page/1/2011-08/01/A04/20110801A04_pdf.pdf
.....

Re: 请教grep用法

发表于 : 2011-08-02 16:05
eexpress
echo $c ?
仔细想。
正则格式是对的。

Re: 请教grep用法

发表于 : 2011-08-02 16:08
bus1234
echo $c结果是/page/1/2011-08/01/A01/20110801A01_pdf.pdf /page/1/2011-08/01/A02/20110801A02_pdf.pdf
/page/1/2011-08/01/A03/20110801A03_pdf.pdf /page/1/2011-08/01/A04/20110801A04_pdf.pdf。。。
url的结果是空的,不对

Re: 请教grep用法

发表于 : 2011-08-03 2:32
fnan
c=`grep -oP '/page/1/\d{4}-\d{2}/01/A\d{2}/\d{8}A\d{2}_pdf.pdf' node_2.htm`
for i in {01..12}
do
n="/page/1/\d{4}-\d{2}/01/A${i}/20110801A${i}_pdf.pdf"
url=` echo $c | grep -oP $n`
#wget -c $url
done
何必这样麻烦。
for i in `grep -oP '/page/1/\d{4}-\d{2}/01/A\d{2}/\d{8}A\d{2}_pdf.pdf' node_2.htm`
do
#wget -c $i
done

Re: 请教grep用法

发表于 : 2011-08-10 17:22
gzbao9999
既然用perl正则,引用下01-12的正则(0[1-9]|1[0-2])就可以了

代码: 全选

grep -Po '/page/1/\d{4}-\d{2}/01/A(0[1-9]|1[0-2])/20110801A\1_pdf.pdf'  tnode_2.htm