Sed 在一行中复制多个点击

Sed 在一行中复制多个点击,sed,grep,Sed,Grep,我有一个这样一行的文件:class=“Foo”无关的东西(+string)无关的东西class=“Foo”无关的东西(+string)无关的东西… 我需要收集()中的每个字符串,该行中最多有200个字符串 我只能考虑在每个类和正在运行的egrep之后添加一个新行 我使用sed's/class=“Foo”/\n/g'在每个类之后创建新行。然后我使用egrep“(++*)过滤掉我需要的所有字符串,然后再次使用sed杀死()和+。然后我的第二个镜头是: 我是一个文件,我只包含一行,但很长。行内有多个类

我有一个这样一行的文件:class=“Foo”无关的东西(+string)无关的东西class=“Foo”无关的东西(+string)无关的东西…
我需要收集()中的每个字符串,该行中最多有200个字符串

我只能考虑在每个类和正在运行的egrep之后添加一个新行


我使用sed's/class=“Foo”/\n/g'在每个类之后创建新行。然后我使用egrep“(++*)过滤掉我需要的所有字符串,然后再次使用sed杀死()和+。

然后我的第二个镜头是: 我是一个文件,我只包含一行,但很长。行内有多个类

class="Foo"
像这样的每堂课结束后,总会有一个地方

(+Bar)
在这些图案之间是随机数字、字母和符号,并重复多达200次。(+.*)的内部对于每个重复都是不同的

我需要删除文件中的所有内容,但(+)中包含的字符串除外,并在每个字符串后创建一个换行符

所以我得到这样的输出

bar1
bar2
...
barn 
现在我正在这样做:

sed 's/class="Foo"/\n/g'
所以每节课我都有一条线

egrep '\(+.*\)' -o
要查找(+)内的字符串,请执行2次sed以终止(和)


这正是我想要的,但我想知道是否有更好的方法

发布输入内容好吧,这对我来说很难,因为这会发生变化,我只需要基本的方法如何让grep不贪婪,或者如果有任何程序这样做的话。inpunt是一个包含.html类字符串的巨大字符串,我需要复制()中的每个字符串,因此输入的变化也就不足为奇了。但您仍然需要创建一些具有代表性的示例输入。有几行,它们通过可能发生的事情的例子而有所不同。对于您当前的问题,正则表达式可能会使用“~(“and”)~”进行锚定。给出所需的输出,以不同的方式定义要收集/打印的内容。您还可以提供“添加换行符”的代码。只是因为它可能会澄清实际目标是什么。如果你提供更多的信息,数千名著名sed大师中的一位将能够提供帮助。是否总是相同数量的“()”?我使用sed's/slas=“Foo”/\n/g在每个类之后创建换行符。我想了解您的解决方案。你能详细说明一下吗?也许你甚至可以创建一个答案,一个与你的问题相匹配的Q/a对比一个Q/comment对更好。还有一个MCVE可以让问题更清楚。