2017-04-21 57 views
0

我试图使用awk更改HTML表格中单元格的颜色。理想情况下,我可以使用awk在“Bob”之后定位“tg-6k2t”中的第N个实例(从脚本的前面传递的变量),并将颜色代码更改为“tg-b5xm”。这是一个包含许多不同人名的巨大HTML表格。使用awk修改特定模式后的第N个字段

<tr> 
    <td class="tg-6k2t">Bob</td> 
    <td class="tg-6k2t"></td> 
    <td class="tg-6k2t"></td> 
    <td class="tg-6k2t"></td>  
    <td class="tg-6k2t"></td> 
    <td class="tg-6k2t"></td> 
</tr> 

我所需的输出是

<tr> 
    <td class="tg-6k2t">Bob</td> 
    <td class="tg-6k2t"></td> 
    <td class="tg-6k2t"></td> 
    <td class="tg-b5xm"></td>  
    <td class="tg-6k2t"></td> 
    <td class="tg-6k2t"></td> 
</tr> 
+1

请将您希望的输出样本输入添加到您的问题。 – Cyrus

回答

1

可以按如下方式与Awk说法去做,

awk -v count=6 '/"tg-6k2t".*Bob/{x=count}x--==1{sub(/tg-6k2t/,"tg-b5xm")}1' file 

产生的输出如下,从意六号线Bob匹配的行,更改该变量以方便您。

<tr> 
    <td class="tg-6k2t">Bob</td> 
    <td class="tg-6k2t"></td> 
    <td class="tg-6k2t"></td> 
    <td class="tg-6k2t"></td> 
    <td class="tg-6k2t"></td> 
    <td class="tg-b5xm"></td> 
</tr> 
+1

@EdMorton:谢谢埃德!已更新 – Inian

+0

这是完美的,谢谢! – dne202

相关问题