将chunk txt文件放入带有bash的html表中

时间:2016-05-12 17:33:18

标签: html bash awk

我有一个~600行的.txt文件,all.txt。我想把它变成一个带有两列的HTML表,其中第一列包含all.txt的全部内容,每行中只有五行(因此表总共有大约120行)。这是我到目前为止所做的:

#!/bin/bash
A=10
B=5
len=`wc -l < all.txt`
len2=$((len / 5))

while [ $A -le $len2 ]; do
    head -$A all.txt | tail -$B |
    awk '
    BEGIN{print " "} 
    {printf("<tr><td></td><td></td></tr>\n")}
    END{print " "}
    '
    let A+=5
done

正如你所看到的,这实际上只是一个脚本的shell,我不知道在循环中使用awk会是什么。在这样的控制结构中使用awk甚至是最好的方法吗? bash甚至是一种合理的方式吗?

2 个答案:

答案 0 :(得分:1)

sed替代

 $ sed -e '5~5a</td>\n<td></td>\n</tr>' -e '1~5i<tr>\n<td>' <(seq 15)

<tr>
<td>
1
2
3
4
5
</td>
<td></td>
</tr>
<tr>
<td>
6
7
8
9
10
</td>
<td></td>
</tr>
<tr>
<td>
11
12
13
14
15
</td>
<td></td>
</tr>

答案 1 :(得分:0)

你只需要awk:

awk 'NR%5 == 1{printf "%s<tr><td>", NR > 1 ? "</td><td></td></tr>" : ""}1' all.txt

最后可能需要添加END{print "</td><td></td></tr>"}