Text-Processing
如何從 HTML 文件中刪除部分行
我有一個文件,
events.html
包含類似的行(在許多其他行中):<td class="EventDate">2021-08-06 12:36:34</td>
其中每一行中的日期和時間字元串都不同。
在這些行中,只有
class="EventDate"
喜歡從每個這樣的行中刪除僅時間字元串。
附加資訊:
- 系統是 Debian 9.13 64 位
- 文件長 38kb
- 大約有 100 條記錄,每條記錄都包含類似於
<td class="EventDate">2021-08-06 12:36:34</td>
但日期和時間字元串在每行中不同的行!
- 文件最後只包含一行(例如!)
日期和時間:$$ 2021-08-08 14:16:54 UTC $$
出於安全原因不能發布整個文件。
我既不是 IT 專業人士也不是 Linux Guru
,但能夠執行各種要求很高的任務。
使用 xmlstarlet編輯文件,使用x路徑表達式更新值:
xmlstarlet ed -u '//td[@class="EventDate"]' -x 'substring-before(.," ")' events.html
添加
-L
以就地執行編輯,而不是將結果寫入標準輸出。前任。給定
$ cat events.html <table> <tr> <td>Cell A</td> <td class="EventDate">2021-08-06 12:36:34</td> </tr> <tr> <td>Cell C</td> <td class="OtherDate">2021-08-06 12:36:34</td> </tr> </table>
然後
$ xmlstarlet ed -O -u '//td[@class="EventDate"]' -x 'substring-before(.," ")' events.html <table> <tr> <td>Cell A</td> <td class="EventDate">2021-08-06</td> </tr> <tr> <td>Cell C</td> <td class="OtherDate">2021-08-06 12:36:34</td> </tr> </table>