我正在做一些文本处理来查找用户上传的 html 文件中的视频内容。所以我们定义了一个名为“video”的标签,用户应该把视频文件像
<video> abcd.mp4 </video>
目前我正在使用 awk 提取具有视频标签的行,
str=$(awk '/<video>/{flag=1;} /<\/video>/{print ;flag=0} flag { print }' file.html)
输出也包含标签,所以我删除前缀和后缀来获取视频文件名。它是这样完成的,
prefix="<video>"
suffix="</video>"
foo=${str#$prefix}
foo=${foo%$suffix}
但这仅适用于仅使用一次视频标签的文件。对于多次使用标签的文件,awk 返回的字符串从第一次出现<video>
到最后一次出现</video>
.
所以我的问题是我应该如何编写一个脚本,它最后会给我一个包含所有字符串<video>
和</video>
标签的数组。另外我该如何更改
<video> abcd.mp4 </video>
说
<media> abcd.mp4 </media>.