前言全局说明
一、说明
1.1 环境:
| Windows 11 家庭版 23H2 22631.3737 |
| Python 3.8.10 (tags/v3.8.10:3d8993a, May 3 2021, 11:48:03) [MSC v.1928 64 bit (AMD64)] on win32 |
| Windows 7 旗舰版 |
| Visual Studio 2013 |
| Ubuntu 18.04.6 LTS (Linux qt-vm 5.4.0-150-generic #167~18.04.1-Ubuntu SMP Wed May 24 00:51:42 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux) |
| python Python 2.7.17 (default, Mar 8 2023, 18:40:28) [GCC 7.5.0] on linux2 |
| python3 Python 3.6.9 (default, Mar 10 2023, 16:46:00) [GCC 8.4.0] on linux |
二、方式1
2.1 内容
文件名:example.html
| <table border=1> |
| <tr> |
| <td><b>Component</b></td> |
| <td><b>Status</b></td> |
| <td><b>Time / Error</b></td> |
| </tr> |
| <tr><td>SAVE_DOCUMENT</td><td>OK</td><td>0.406 s</td></tr> |
| <tr><td>GET_DOCUMENT</td><td>OK</td><td>0.332 s</td></tr> |
| <tr><td>DVK_SEND</td><td>OK</td><td>0.001 s</td></tr> |
| <tr><td>DVK_RECEIVE</td><td>OK</td><td>0.001 s</td></tr> |
| <tr><td>GET_USER_INFO</td><td>OK</td><td>0.143 s</td></tr> |
| <tr><td>NOTIFICATIONS</td><td>OK</td><td>0.001 s</td></tr> |
| <tr><td>ERROR_LOG</td><td>OK</td><td>0.001 s</td></tr> |
| <tr><td>SUMMARY_STATUS</td><td>OK</td><td>0.888 s</td></tr> |
| </table> |
注意:tr 和 td 标签要在一行
2.2 命令
| awk -F "</*td>|</*tr>" '/<\/*t[rd]>.*[A-Z][A-Z]/ {print $3, $5, $7 }' example.htmls |
2.3 效果
| SAVE_DOCUMENT OK 0.406 s |
| GET_DOCUMENT OK 0.332 s |
| DVK_SEND OK 0.001 s |
| DVK_RECEIVE OK 0.001 s |
| GET_USER_INFO OK 0.143 s |
| NOTIFICATIONS OK 0.001 s |
| ERROR_LOG OK 0.001 s |
| SUMMARY_STATUS OK 0.888 s |
2.4 说明
- $3, $5, $7 的,(逗号)并不是必须,只是为了值之间用空格分割。
- 把 ,(逗号)替换成 "---" (分隔符要有双引号),那么空格将被改成 --- (如:4.3所示)
- -F 将输入字段分隔符设置为正则表达式(任何 tr 的或 td 的开始或结束标记
- 然后只适用于匹配这些标签和至少两个大写字段的行
- 然后打印所需的字段。
三、方式2
3.1 内容
文件名:example.html
| <table border=1> |
| <tr> |
| <td><b>Component</b></td> |
| <td><b>Status</b></td> |
| <td><b>Time / Error</b></td> |
| </tr> |
| <tr> |
| <td>SAVE_DOCUMENT</td><td>OK</td><td>0.406 s</td> |
| </tr> |
| <tr> |
| <td>GET_DOCUMENT</td><td>OK</td><td>0.332 s</td> |
| </tr> |
| <tr> |
| <td>DVK_SEND</td><td>OK</td><td>0.001 s</td> |
| </tr> |
| <tr> |
| <td>DVK_RECEIVE</td><td>OK</td><td>0.001 s</td> |
| </tr> |
| <tr> |
| <td>GET_USER_INFO</td><td>OK</td><td>0.143 s</td> |
| </tr> |
| <tr> |
| <td>NOTIFICATIONS</td><td>OK</td><td>0.001 s</td> |
| </tr> |
| <tr> |
| <td>ERROR_LOG</td><td>OK</td><td>0.001 s</td> |
| </tr> |
| <tr> |
| <td>SUMMARY_STATUS</td><td>OK</td><td>0.888 s</td> |
| </tr> |
| </table> |
3.2 命令
| awk -F "</*td>|</*tr>" '/<\/*t[rd]>.*[A-Z][A-Z]/ {print $2, $4, $6 }' example.html |
3.3 效果
四、方式3
4.1 内容
文件名:example.html
| <table border="0"> |
| <tbody> |
| <tr style="background-color: #f2f2f2;"> |
| <td>排序</td><td>变量</td><td>英文说明</td><td>中文说明</td><td>备注、示例</td> |
| </tr> |
| <tr> |
| <td bgcolor="#f2f2f2"> </td><td>BUILD_HOST_JAVA_LIBRARY</td><td> </td><td>主机上的JAVA库</td><td> </td> |
| </tr> |
| <tr> |
| <td bgcolor="#f2f2f2"> </td><td>BUILD_HOST_STATIC_LIBRARY</td><td> </td><td>主机上的静态库</td><td> </td> |
| </tr> |
| <tr> |
| <td bgcolor="#f2f2f2"> </td><td>BUILD_SYSTEM</td><td> </td><td>代表:build/core/</td><td>build/core/main.mk</td> |
| </tr> |
| <tbody> |
| </table> |
4.2 命令
| awk -F "<td *>|</*td>|</*tr>" '/<\/*t[rd]>.*[A-Z][A-Z]/ {print $3"----"$5"----"$7"----"$9 }' example.html |
4.3 效果
| BUILD_HOST_JAVA_LIBRARY---- ----主机上的JAVA库---- |
| BUILD_HOST_STATIC_LIBRARY---- ----主机上的静态库---- |
| BUILD_SYSTEM---- ----代表:build/core/----build/core/main.mk |
五、方式4
5.1 内容
文件名:example.html
| <tr><td>D</td><td> </td><td> </td><td> </td><td> </td></tr> |
| <tr><td> 1</td><td>BUILD_EXECUTABLE</td><td> 2</td><td>目标设备上的可执行文件</td><td> 3</td></tr> |
| <tr><td> </td><td>BUILD_ENV_SEQUENCE_NUMBER</td><td> </td><td> </td><td> </td></tr> |
| <tr><td>B</td><td>B</td><td> </td><td> </td><td> </td></tr> |
5.2 命令
| awk -F "</*td>|</*tr>" ' {print $3"----"$5"----"$7"----"$9"----"$11 }' example.html |
5.3 效果
| D---- ---- ---- ---- |
| 1----BUILD_EXECUTABLE---- 2----目标设备上的可执行文件---- 3 |
| ----BUILD_ENV_SEQUENCE_NUMBER---- ---- ---- |
| B----B---- ---- ---- |
免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后果自负。
参考、来源:
https://segmentfault.com/q/1010000043110063/a-1020000043110067
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)