2016-02-21 54 views
1

我希望這個問題的用例對於在本站點上詢問這個問題不是太具體。我有一個非常直接的問題,但我認爲它可以幫助我們瞭解更一般的方法,以及使用命令行工具替代可能會遇到此問題的其他人的搜索和替換方法。遞歸搜索並替換/添加html文件中的一些標籤屬性

我的問題:

我有幾千元的HTML文件的目錄結構,我想這樣做是這樣的:

每當有標籤與id屬性設置我想要添加class="anchor",或者如果已經有一個或多個類,則另外添加類「錨點」。

所以我想用與

<someTag id="some-id" class="anchor">

任何

<someTag id="some-id" class="some-class">

更換任何

<someTag id="some-id">

<someTag id="some-id" class="some-class anchor">

當然也有可能是各種混合之間的屬性,所以我需要某種形式的搜索和替換,可以正確識別尖括號中的這些事情的方法。

我使用的是Ubuntu,所以我有各種命令行工具,如sed在我的指尖,但我不是很有經驗的使用。所以如果有更多經驗的人會知道一個快速解決方案,對我來說會有很大的幫助。

非常感謝您的閱讀和思考,如果您有任何建議,這將是非常好的。

回答

0

HTML is famously difficult to parse with a regexp所以我不知道。

也許難以被誇大?

或者觸發由'常規'HTML中不存在的特殊情況?

我不確定所有問題是什麼,但這個問題的非笑話答案可能會解釋它。

該網站是否使用javascript,使用該網站的瀏覽器是否啓用了JavaScript?因爲我猜想在用戶的瀏覽器中使用javascript進行這些編輯(向頁面中的元素添加一個類)很容易(或更容易)(因爲瀏覽器已經解析了HTML並構建了一個DOM) 。

或者,我不確定爲什麼要向具有ID的元素添加類;如果原因是在CSS中引用了類名稱,則可以使用替代方法將這些ID(用類名逗號分隔)添加到CSS中。