2017-04-21 56 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

相關問題