Unixで列の状態に応じて背景色を変更する方法

Unixで列の状態に応じて背景色を変更する方法

次の内容を含むファイルがあります。

<tr><td>CLNK </td><td>TR-HEH-JFGHG-MTG-N-US-00 </td><td> 841115061</td><td> 9965
<tr><td>CLNM </td><td>TR-HEH-JFGHG-MTG-N-JK-00 </td><td> 841115062</td><td> 9976
<tr><td>CLNKHGKSL </td><td>TR-HEH-JFGHG-MTG-N-US-00 </td><td> 841115063</td><td> 9985
<tr><td>CLNK </td><td>TR-HEH-JFGHG-CRD-N-TR-00 </td><td> 841115064</td><td> 9925
<tr><td>CLNK00 </td><td>TR-HEH-JFGHG-CCS-N-HJ-00 </td><td> 841115065</td><td> 9905
<tr><td>CLNKTYH </td><td>TR-HEH-JFGHG-MTG-N-US-00 </td><td> 841115066</td><td> 9915
<tr><td>CLNKVB </td><td>TR-HEH-JFGHG-MTG-N-MN-00 </td><td> 841115067</td><td> 9935
<tr><td>CLN </td><td>TR-HEH-JFGHG-PLN-N-US-00 </td><td> 841115068</td><td> 9955
<tr><td>CLNK1 </td><td>TR-HEH-JFGHG-MTG-N-US-00 </td><td> 841115069</td><td> 9970

5番目の列の値に基づいて、次の出力が必要です。 5番目のフィールド値が> 9960の場合、その部分は下の文字列に置き換えられます。

<tr><td>CLNK </td><td>TR-HEH-JFGHG-MTG-N-US-00 </td><td> 841115061</td><td bgcolor="red"> 9965
<tr><td>CLNM </td><td>TR-HEH-JFGHG-MTG-N-JK-00 </td><td> 841115062</td><td bgcolor="red"> 9976
<tr><td>CLNKHGKSL </td><td>TR-HEH-JFGHG-MTG-N-US-00 </td><td> 841115063</td><td bgcolor="red"> 9985
<tr><td>CLNK </td><td>TR-HEH-JFGHG-CRD-N-TR-00 </td><td> 841115064</td><td> 9925
<tr><td>CLNK00 </td><td>TR-HEH-JFGHG-CCS-N-HJ-00 </td><td> 841115065</td><td> 9905
<tr><td>CLNKTYH </td><td>TR-HEH-JFGHG-MTG-N-US-00 </td><td> 841115066</td><td> 9915
<tr><td>CLNKVB </td><td>TR-HEH-JFGHG-MTG-N-MN-00 </td><td> 841115067</td><td> 9935
<tr><td>CLN </td><td>TR-HEH-JFGHG-PLN-N-US-00 </td><td> 841115068</td><td> 9955
<tr><td>CLNK1 </td><td>TR-HEH-JFGHG-MTG-N-US-00 </td><td> 841115069</td><td bgcolor="red"> 9970

ベストアンサー1

興味のある値が常に各行の最後の数字セグメントであると仮定できる場合(例の場合)、次のことができます。

$ perl -pe 'm|.*(<td>\s*(\d+)\s*(</td>)?\s*)$|; 
            $cell=$1; 
            $value=$2; 
            if($value > 9960){
                s|$cell|<td bgcolor="red">$value</td>\n|
            }' file 
<tr><td>CLNK </td><td>TR-HEH-JFGHG-MTG-N-US-00 </td><td> 841115061</td><td bgcolor="red">9965</td>
<tr><td>CLNM </td><td>TR-HEH-JFGHG-MTG-N-JK-00 </td><td> 841115062</td><td bgcolor="red">9976</td>
<tr><td>CLNKHGKSL </td><td>TR-HEH-JFGHG-MTG-N-US-00 </td><td> 841115063</td><td bgcolor="red">9985</td>
<tr><td>CLNK </td><td>TR-HEH-JFGHG-CRD-N-TR-00 </td><td> 841115064</td><td> 9925
<tr><td>CLNK00 </td><td>TR-HEH-JFGHG-CCS-N-HJ-00 </td><td> 841115065</td><td> 9905
<tr><td>CLNKTYH </td><td>TR-HEH-JFGHG-MTG-N-US-00 </td><td> 841115066</td><td> 9915
<tr><td>CLNKVB </td><td>TR-HEH-JFGHG-MTG-N-MN-00 </td><td> 841115067</td><td> 9935
<tr><td>CLN </td><td>TR-HEH-JFGHG-PLN-N-US-00 </td><td> 841115068</td><td> 9955
<tr><td>CLNK1 </td><td>TR-HEH-JFGHG-MTG-N-US-00 </td><td> 841115069</td><td bgcolor="red">9970</td>

おすすめ記事