我希望在已知的HTML標記之間提取數據。例如:使用sed提取HTML標記數據
Hello, <i>I<i> am <i>very</i> glad to meet you.
應該改爲:
'我
很'
所以我發現一些作品以近做到這一點。不幸的是,它只提取最後一個條目。
sed -n -e 's/.*<i>\(.*\)<\/i>.*/\1/p'
現在我可以追加任何結束標記</i>
以換行符,這工作得很好。但是有沒有辦法只用一個sed命令呢?
我希望在已知的HTML標記之間提取數據。例如:使用sed提取HTML標記數據
Hello, <i>I<i> am <i>very</i> glad to meet you.
應該改爲:
'我
很'
所以我發現一些作品以近做到這一點。不幸的是,它只提取最後一個條目。
sed -n -e 's/.*<i>\(.*\)<\/i>.*/\1/p'
現在我可以追加任何結束標記</i>
以換行符,這工作得很好。但是有沒有辦法只用一個sed命令呢?
$ awk -vFS="<.[^>]*>" '{for(i=2;i<=NF;i+=2)print $i}' file
I
very
這給一試:
sed -n 's|[^<]*<i>\([^<]*\)</i>[^<]*|\1\n|gp'
而且你的例子是缺少一個 「/」:
Hello, <i>I</i> am <i>very</i> glad to meet you.
試試這個:
$ sed 's/<[^>]*>//g' file.html