bash - 如何编写 shell 脚本从curl命令输出中打印表格格式

标签 bash shell curl sed awk

我想编写 shell 脚本,它可以从 curl 命令输出中打印表格,我的curl 命令输出是

<table border='2'><tr><td>OSS Databse connectivity status </td><td> STATUS_OK</td></tr><tr><td>SharedMemCache connectivity status </td><td>STATUS_OK</td></tr><tr><td>OPX connectivity status </td><td>STATUS_OK</td></tr><tr><td>OMS connectivity status </td><td> STATUS_OK</td></tr><tr><td>Number of thread live </td><td>109</td></tr><tr><td>Number of thread waiting </td><td>34</td></tr><tr><td>Current state of Thread </td><td> RUNNABLE</td></tr><tr><td>OSS database latency </td><td>10 ms</td></tr><tr><td>OPX API latency </td><td>55 ms</td></tr><tr><td>OMS API latency </td><td>386 ms</td></tr><tr><td>Number of requests successfully processed in last 5 minutes : </td><td>0</td></tr></table>

我想将此输出排列在下表中

OSS Databse connectivity status  STATUS_OK
SharedMemCache connectivity status   STATUS_OK
OPX connectivity status          STATUS_OK
OMS connectivity status          STATUS_OK
Number of thread live            129
Number of thread waiting             39
Current state of Thread          RUNNABLE
OSS database latency             9 ms
OPX API latency                  2297 ms
OMS API latency                  342 ms
Number of requests successfully processed in last 5 minutes :   0

请帮助我。

每次我使用curl点击URL时,状态都会改变

最佳答案

这是使用 gnu-awk 的另一种方法:

$ awk 'NR>1&&NF{++cnt;printf "%s%s",$0,ORS=cnt%2?" ":"\n"}' RS='</?t[rd]>|</?table>' file
OSS Databse connectivity status   STATUS_OK
SharedMemCache connectivity status  STATUS_OK
OPX connectivity status  STATUS_OK
OMS connectivity status   STATUS_OK
Number of thread live  109
Number of thread waiting  34
Current state of Thread   RUNNABLE
OSS database latency  10 ms
OPX API latency  55 ms
OMS API latency  386 ms
Number of requests successfully processed in last 5 minutes :  0

关于bash - 如何编写 shell 脚本从curl命令输出中打印表格格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22551176/

相关文章:

linux - netstat 中的奇怪百分号 (192.168.8.16%31621 :5555)

linux - 使用字符串变量更改 shell 脚本中的目录

bash - 在文件中查找部分并追加到该部分的底部

php - 抓取一个需要 cookie 的站点

linux - awk 将序列与子字符串键结合起来

linux - 在 Linux shell 控制台中显示漂亮的字符表

linux - 如何获取shell脚本的所有进程名称?

python - 非交互式访问谷歌云存储

c# - 如何在 C# 中编写 REST Get-Request?

bash - 如何在 Bash 中更改命令行参数?