有一段脚本:
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
.....
请教grep用法
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 21
- 注册时间: 2006-09-13 21:33
Re: 请教grep用法
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的结果是空的,不对
/page/1/2011-08/01/A03/20110801A03_pdf.pdf /page/1/2011-08/01/A04/20110801A04_pdf.pdf。。。
url的结果是空的,不对
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
Re: 请教grep用法
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
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
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
-
- 帖子: 627
- 注册时间: 2008-11-08 18:34
Re: 请教grep用法
既然用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
气血鼓荡,身体发胀,偶飘上头,三时舒畅