简体   繁体   English

带有字符串的正则表达式grep过滤器

[英]regex grep filter with string

I have text like these : 我有这样的文字:

div class="ls-icon ls-item " data-ctrdot="214752854"> div class =“ ls-icon ls-item” data-ctrdot =“ 214752854”>
div class="ls-icon ls-item " data-ctrdot="213523235"> div class =“ ls-icon ls-item” data-ctrdot =“ 213523235”>
div class="ls-icon ls-item " data-ctrdot="788746365"> div class =“ ls-icon ls-item” data-ctrdot =“ 788746365”>
div class="ls-icon ls-item " data-ctrdot="332532436"> div class =“ ls-icon ls-item” data-ctrdot =“ 332532436”>

and i want to export : 我想出口:

data-ctrdot="214752854"> 数据ctrdot = “214752854”>
data-ctrdot="213523235"> 数据ctrdot = “213523235”>
data-ctrdot="788746365"> 数据ctrdot = “788746365”>
data-ctrdot="332532436"> 数据ctrdot = “332532436”>

but i dont know why this 但我不知道为什么

grep -o 'data-ctrdot="\\w*' grep -o'data-ctrdot =“ \\ w *'

does not work . 不起作用。 Thanks 谢谢

If by does not work you mean it outputs this: 如果by 不起作用表示输出以下内容:

data-ctrdot="214752854
data-ctrdot="213523235
data-ctrdot="788746365
data-ctrdot="332532436

Instead of 代替

data-ctrdot="214752854">
data-ctrdot="213523235">
data-ctrdot="788746365">
data-ctrdot="332532436">

Then yes, it's broken. 然后是的,它坏了。 But perhaps you could just inject the last two characters into the grep expression? 但是也许您可以将最后两个字符注入grep表达式中?

grep -o 'data-ctrdot="\w*">'

data-ctrdot="214752854">
data-ctrdot="213523235">
data-ctrdot="788746365">
data-ctrdot="332532436">

您可以使用:

awk '/data-ctrdot=/{print $NF}' file

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM