Sed模式过滤长html文档

时间:2016-03-13 19:55:30

标签: sed

我正在尝试过滤一个长html页面,只留下具有一致结构的指纹。例如:

  

DCD0 5B71 EAB9 4199 527F 44AC DB6B 8C1F 96D8 BF60

我知道如何通过使用标准命令行命令如grep,cut和head / tail来做到这一点,但是有更优雅的方法来使用sed吗?我使用的shell comman很长,看起来不那么好。

谢谢

3 个答案:

答案 0 :(得分:2)

grep是基于正则表达式匹配从文件中提取字符串的正确工具:

grep -Eo '([A-F0-9]{4}[[:space:]]){9}[A-F0-9]{4}' file.html

答案 1 :(得分:2)

这是用GNU sed 4.2.2测试的sed命令:

Require-Bundle: org.eclipse.ui,
 org.eclipse.core.runtime,
 org.eclipse.jface.text,
 org.eclipse.ui.editors

匹配并打印

  • 由10个组成的组
    • 4 hexdigits
    • 后跟可选空格

答案 2 :(得分:1)

使用GNU sed:

sed -E 's/.*(([A-F0-9]{4}[[:space:]]){9}[A-F0-9]{4}).*/\1/' file