Linux Bash: Padamkan blok data jadual HTML dengan mudah
P粉787806024
P粉787806024 2024-04-02 09:13:43
0
1
467

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.

P粉787806024
P粉787806024

membalas semua(1)
P粉242741921

Seperti ini, menggunakan dan :

$ xmlstarlet format -H file.html | sponge file.html
$ xmlstarlet ed -d '//table[./caption/text()="Empty Table To Remove"]' file.html 



  
    
Data rows exists here
Table with data
type column1 column2 column3 column4
Data rows exists here
Table with data
type column1 column2 column3 column4

Untuk mengedit di sed -i dsb. gunakan

xmlstarlet edit -L ...

Tiada penjelasan, tetapi jangan gunakansedregex来解析HTML/XML

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan