替換兩個特定字串之間的文本

替換兩個特定字串之間的文本

我有大量文件具有已棄用的 css 值“hspace”,並且我想用其他 css 樣式值來更改它。這是一個例子:我們有:

hspace='5'

我們想改變:

style="margin: 0 5px;"

每個文件裡面都有不同的數值hspace,一個可以是 hspace='5'另一個hspace='2'hspace='7'等等。

我想要的是在特定目錄中的所有文件中找到:

hspace='ANY NUMBER'

並替換為:

style="margin: 0 5px;"

有什麼建議可以在 bash centos 作業系統中執行此操作嗎?

答案1

您可以使用此命令進行替換(假設sed在 CentOS 上找到 GNU):

sed -i "s/hspace='\([0-9]*\)'/style=\"margin: 0 \1px;\"/g" filename.html

要替換所有 .html 檔案:

find . -type f -name '*.html' -exec sed -i "s/hspace='\([0-9]*\)'/style=\"margin: 0 \1px;\"/g" {} +

相關內容