您好我有以下文件
<strong>Ramandand Sagar Krishna part 34</strong> Vasudev comes back
and girl disappears from Kansa's hand and the first temple she instructs Devs to make at Vindhyachal <a href="http://www.dailymotion.com/embed/video/x3p3gu?
width=320&theme=none&wmode=transparent">http://www.dailymotion.com/embed/video/x3p3gu?width=320&theme=none&wmode=transparent</a> <a
href="http://www.dailymotion.com/video/x3p3gu_krishna-part-34_shortfilms"
target="_blank">Krishna Part 34</a> <strong>Ramandand Sagar Krishna part 35</strong> Celebrations at Yashoda's house and Vasudev Devki freed from jail <a href="http://www.dailymotion.com/embed/video/x3p3sg?width=320&theme=none&wmode=transparent">
http://www.dailymotion.com/embed/video/x3p3sg?width=320&theme=none&wmode=transparent</a> <a href="http://www.dailymotion.com/video/x3p3sg_krishna-part-35_shortfilms" target="_blank">Krishna Part 35</a> <a href="http://www.dailymotion.com/video/x66a71_krishna-143_shortfilms" target="_blank">Krishna 143</a></em></div>
在上面的文件中我想替换
任何以下类型的HTML
<a href="http://www.dailymotion.com/embed/video/x5ftx3?width=320">http://www.dailymotion.com/embed/video/x5ftx3?width=320</a>
关键字是任何带有wmode=transparent
或width=320
的HTML标记应该替换为空格。有一种简单的方法吗?有许多HTML标记,如
<a href=""> </a>
在其行中没有wmode=transparent
。
上面发布的文件是非常非常大的HTML中有大约30K行,所以我只发布了相关的行。
我在Ubuntu系统上。
答案 0 :(得分:1)
正如Sorpigal指出的那样,解决这个问题并没有简单的答案。如果你愿意破坏你的行尾,你可以尝试我丑陋的混合物。它可能会对你有所帮助:
cat file.txt | tr -d "\n" | awk '{ for (i=1; i<=NF; i++) if ($i !~ /wmode=transparent|width=320/) printf "%s ", $i} END {print ""}' file.txt | sed -e "s%<a <a%<a%g"
输出:
<strong>Ramandand Sagar Krishna part 34</strong> Vasudev comes back and girl disappears from Kansa's hand and the first temple she instructs Devs to make at Vindhyachal <a href="http://www.dailymotion.com/embed/video/x3p3gu? <a href="http://www.dailymotion.com/video/x3p3gu_krishna-part-34_shortfilms" target="_blank">Krishna Part 34</a> <strong>Ramandand Sagar Krishna part 35</strong> Celebrations at Yashoda's house and Vasudev Devki freed from jail <a href="http://www.dailymotion.com/video/x3p3sg_krishna-part-35_shortfilms" target="_blank">Krishna Part 35</a> <a href="http://www.dailymotion.com/video/x66a71_krishna-143_shortfilms" target="_blank">Krishna 143</a></em></div>
我确信这种单线可以在某种程度上得到改善。如果您确实发现这个有用,那么您可能希望将边界上的输出拆分以整理。 Sed
可能对此有好处。
答案 1 :(得分:0)
这是一个link,您可以在其中找到问题的答案。
在您的情况下,您必须为sed创建一个脚本文件,如
S / WMODE =透明//克
S /宽度= 320 //克
并运行类似的东西:
sed -f replace_file in.txt&gt; out.txt
我希望它对你有所帮助。
度过愉快的一天