2014-10-04 55 views
0

大家好我有一个问题..grep的Linux的正则表达式

我试图写正则表达式,但我已经没有建议..

我有HTML源某些文件。

</tr> 
    <tr anotherID="433943" sometext=""> 
    <td> 
    .a lot of source 
    .a lot of source 
    .a lot of source 
    .a lot of source 
    .a lot of source 
    </tr> 
    <tr WANTED_ID="361112" sometext=""> 
    <td> 
    <some title text or anything></span> 
    </td> 
    <td> 
    thisisnamewhichInow 
    .a lot of source 
    .a lot of source 
    .a lot of source 
    .a lot of source 
    .a lot of source 

所以,我想将WANDED_ID粘贴到我的变量中。但我只知道“thisisnamewhichInow”..我可以在bash中使用任何实用程序。例如'cut'。

+0

'我想把WANDED_ID粘贴到我的变量中,哪个变量?你想获得WANDED_ID的价值吗? – 2014-10-04 21:07:02

+0

是的。我想在我的脚本中执行此操作:myvariable = $(grep'someregex'filewithsource); 但我不知道哪个正则表达式使用.. – devbgs 2014-10-04 21:12:13

回答

1

我想这会得到你想要的东西,最后ID你知道字符串

myvariable=$(perl -e'$/=undef;<>=~/.*id="(\d+)".*?bgMiner.vminer/s;print"$1\n"') 
+0

谢谢!这是工作:) – devbgs 2014-10-04 22:02:08

1

尝试以下grep命令来获得WANDED_ID值,

myvariable=$(grep -oP 'WANTED_ID="\K[^"]+' filewithsource) 
+0

是的,它的工作,但只为这个来源。 :) 这是我的错,我忘记告诉anotherID和WANTED_ID在我的来源将具有相同的名称 - >>“ID”我写了另一个,因为我想显示哪个我需要绘制 – devbgs 2014-10-04 21:24:37

+0

请张贴确切的输入..哪个ID你想要的价值? – 2014-10-04 21:26:10

+0

是的,对不起。 http://pastebin.com/qQLUa5Pz下面是完整的源代码。我尝试绘制id 361112,但我只知道'bgMiner.vminer'字符串。 – devbgs 2014-10-04 21:29:46

0

使用切割

my_var=`grep WANTED_ID filewithsource|cut -f 2 -d "\""`