我想在bash脚本中做一些相当简单的字符串解析。 基本上,我有一个由多个多行字段组成的文件。每个字段都被已知的页眉和页脚包围。在Bash中的多重多行正则表达式匹配
我想单独提取每一个领域到一个数组或类似的,像这样的
>FILE=`cat file`
>REGEX="@#@#@#[\s\S][email protected]#@#@"
>
>if [[$FILE =~ $REGEX ]] then
> echo $BASH_REMATCH
>fi
FILE:
@#@#@#################################
this is field one
@#@#@#
@#@#@#################################
this is field two
they can be any number of lines
@#@#@#
现在,我敢肯定,问题是bash的不匹配换行符“。”
我可以将它与“pcregrep -M”匹配,但是当然整个文件将会匹配。我能从pcregrep一次获得一场比赛吗?
我不反对使用一些内联perl或类似的东西。
在此先感谢
修改这一点做我想做的事情。 Awk是我从未学过的东西。谢谢! – prestomation 2010-01-22 19:42:18