使用BASH&创建HTML表AWK [英] Creating an HTML table with BASH & AWK

查看:61
本文介绍了使用BASH&创建HTML表AWK的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在创建html表以显示文本文件中的统计信息时遇到问题.我相信有100种方法可以更好地做到这一点,但这就是:

I am having issues creating a html table to display stats from a text file. I am sure there are 100 ways to do this better but here it is:

(以下脚本中的注释显示输出)

#!/bin/bash

function getapistats () {
    curl -s http://api.example.com/stats > api-stats.txt
    awk {'print $1'} api-stats.txt > api-stats-int.txt
    awk {'print $2'} api-stats.txt > api-stats-fqdm.txt
}

# api-stats.txt example
#    992 cdn.example.com
#    227 static.foo.com
#    225 imgcdn.bar.com
# end api-stats.txt example

function get_int () {

    for i in `cat api-stats-int.txt`;
        do echo -e "<tr><td>${i}</td>";
    done
}

function get_fqdn () {

    for f in `cat api-stats-fqdn.txt`;
        do echo -e "<td>${f}</td></tr>";
    done

}

function build_table () {

echo "<table>";
echo -e "`get_int`" "`get_fqdn`";
#echo -e "`get_fqdn`";
echo "</table>";
}

getapistats;

build_table > api-stats.html;

# Output fail :|
# <table>
# <tr><td>992</td>
# <tr><td>227</td>
# <tr><td>225</td><td>cdn.example.com</td></tr>
# <td>static.foo.com</td></tr>
# <td>imgcdn.bar.com</td></tr>

# Desired output:
# <tr><td>992</td><td>cdn.example.com</td></tr>
# ...

推荐答案

在纯awk中这样做相当简单:

This is reasonably simple to do in pure awk:

curl -s http://api.example.com/stats > api-stats.txt
awk 'BEGIN { print "<table>" }
     { print "<tr><td>" $1 "</td><td>" $2 "</td></tr>" }
     END   { print "</table>" }' api-stats.txt > api-stats.html

Awk确实是用于这种用途的.

Awk is really made for this type of use.

这篇关于使用BASH&amp;创建HTML表AWK的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆