我有以下代码,我需要获取数字并将它们保存在一行中,
<div class="F-temperatura">
<p>Temperatura: <span class="min">5º</span><span
class="max">14º</span>
--
<div class="F-temperatura">
<p>Temperatura: <span class="min">4º</span><span
class="max">12º</span>
--
<div class="F-temperatura">
<span class="min">2º</span><span class="max">11º</span>
</div>
--
<div class="F-temperatura">
<span class="min">2º</span><span class="max">12º</span>
</div>
--
<div class="F-temperatura">
<span class="min">8º</span><span class="max">16º</span>
</div>
--
<div class="F-temperatura">
<span class="min">2º</span><span class="max">10º</span>
</div>
我需要
5,14,4,12,2,11,2,12,8,16,2,10
我使用此命令获取数字5,在这种情况下,我的文件名为dada.txt
awk 'NR == 2' dada.txt | cut -d '<' -f 3 | cut -d '>' -f 2 | tr -d 'º'
它运作良好,例如我得到了数字5,...但是如果我必须提取很多数字是一项繁琐的工作,因为我必须修改NR的最低温度和更多的最高温度......任何想法在bash中以更清洁,更快捷的方式获取它们?
最佳
答案 0 :(得分:2)
试试这个,提取没有上下文的所有数字,每行一个
grep -oE "[0-9.]+" file
如果您希望以逗号分隔,请输入... | paste -sd,