我使用grep
命令提取file.xml中的<cite> </cite>
之间的所有内容:
grep -Po "(?<=<cite>).*?(?=</cite>)" /tmp/file.xml
结果是这样的:
<strong>site.com</strong>/<strong>blahblah</strong>/foo #and may be with more tags named strong
<strong>site2.com</strong>/req/?<strong>blahblah2</strong>=foo
现在我希望得到这样的结果:
site.com/blahblah/foo
site2.com/req/?blahblah2=foo
我想删除添加<strong>
和</strong>
并附加其他人...
如果有办法在 python 中使用xpath
,这也是受欢迎的......
答案 0 :(得分:2)
您可以将grep
发送到此sed
以删除所有<strong>
和</strong>
代码:
sed -r 's#</?strong>##g'
答案 1 :(得分:2)
使用sed:
grep -Po "(?<=<cite>).*?(?=</cite>)" /tmp/file.txt | sed 's:<[^>]*>::g'
将删除<...>
答案 2 :(得分:2)
尝试:
echo "<strong>site.com</strong>/<strong>blahblah</strong>/foo" | sed -e 's/<strong>//g' -e 's/<\/strong>//g'
输出
site.com/blahblah/foo