Saya mempunyai fail html yang saya sedang memproses menggunakan skrip bash dan ingin mengalih keluar jadual kosong. Fail dijana daripada pernyataan sql tetapi termasuk pengepala apabila tiada rekod ditemui. Saya mahu memadamkan tajuk yang tiada rekod ditemui.
<table border="1"> <caption>Table with data</caption> <tr> <th align="center">type</th> <th align="center">column1</th> <th align="center">column2</th> <th align="center">column3</th> <th align="center">column4</th> </tr> Data rows exists here </table> <table border="1"> <caption>Empty Table To Remove</caption> <tr> <th align="center">type</th> <th align="center">column1</th> <th align="center">column2</th> <th align="center">column3</th> <th align="center">column4</th> <th align="center">column5</th> <th align="center">column6</th> <th align="center">column7</th> </tr> </table> <table border="1"> <caption>Table with data</caption> <tr> <th align="center">type</th> <th align="center">column1</th> <th align="center">column2</th> <th align="center">column3</th> <th align="center">column4</th> </tr> Data rows exists here </table>
Saya cuba menggunakan gabungan grep dan sed untuk memadamkan jadual kosong. Saya dapat menyelesaikan tugas ini apabila jadual mengandungi bilangan lajur yang sama. Saya menghadapi beberapa masalah sekarang kerana jadual saya mempunyai bilangan lajur yang berbeza.
Apabila jadual mempunyai bilangan lajur yang sama, saya dapat menggelung berdasarkan pengepala, mengira dan kemudian memadam. Oleh kerana bilangan lajur berbeza, ini tidak berfungsi.
Seperti ini, menggunakan xmlstarlet dan xpath:
Untuk mengedit di
sed -i
dsb. gunakanTiada penjelasan, tetapi jangan gunakan
sed
或regex
来解析HTML/XML