循环直线并突出显示不同的列

时间:2017-03-21 01:04:43

标签: html bash awk sed

我有一个文件,每两行都有一个id代表一个'键'其次是其他数据列。列数始终相同,但每列中的数据本身可能不同。

文件:

1,ABC,XYZ,0,1,2
1,ABC,XYZ,0,1,3

我想按以下格式对这些数据进行分类:

    <td class="er">1</td>
    <td class="er">ABC</td>
    <td class="er">ABC</td>
    <td class="er">XYZ</td>
    <td class="er">XYZ</td>
    <td class="er">0</td>
    <td class="er">0</td>
    <td class="er">1</td>
    <td class="er">1</td>
    <td class="diff">2</td>
    <td class="diff">3</td>

我将使用课程中的更改来修改颜色,并将数据更改改为“突出”。

我需要一些帮助来解决如何通过解析上述文件中的数据来填充这个html属性。

1 个答案:

答案 0 :(得分:1)

awk救援!

awk -F, 'function pr(x,y) {print "<td class=\"" x "\">" y "</td>"}
         function pr2(x,y1,y2) {pr(x,y1); pr(x,y2)}

         !(NR%2) {for(i=1;i<=NF;i++) 
                    if(a[i]!=$i) pr2("diff",a[i],$i)
                    else         pr2("er",  a[i],$i)}
           NR%2  {split($0,a)}' file

匹配第二行