我有一個XML文件,我希望提取所有出現的一些標記AB。該文件是一個長約500000字符的長隊。sed正則表達式匹配很長的行
現在我知道正則表達式等等,但是當我用sed
嘗試它時,嘗試僅提取標籤內的字符,我完全失去了結果:)。
這裏是我的命令:
sed -r 's/(.*)<my_tag>([A-Z][A-Z])<\/my_tag>(.*)/hello\2/g' myfile.out
轉換整個文件只有 「helloAB」 例如預計至少應該包含100多場比賽。
因此,我正在考慮貪婪匹配的概念,但沒有到任何地方。也許awk
是一個更好的主意?
'。*'位已經吃光了一切。它可能會解決這個問題,使用兩個實例的非貪婪版本。 – abiessu
這是grep的工作,而不是sed。 –
您最好使用適當的XML解析實用程序,因爲XML不是常規語言,所以正則表達式不是該工作的最佳工具。你可以用正則表達式來實現一些簡單的XML解析,但是,正如你已經看到的那樣,你甚至可以在這裏使用RE,這可能會有點棘手。 – twalberg