【发布时间】:2020-12-15 03:14:09
【问题描述】:
我拿了一个很脏的xml文件研究了一下sed。看这里:
<title><![CDATA[O BR-Linux está em pausa por tempo indeterminado]]></title>
<title><![CDATA[Funçoes ZZ atinge maioridade: versão 18.3]]></title>
<title><![CDATA[CloudFlare 1.1.1.1 e parceria com Firefox DoH]]></title>
<title><![CDATA[Slint, Distro Baseada no Slackware e Acessível]]></title>
<title><![CDATA[Utilização de CPU em sistemas Linux multi-thread]]></title>
<title><![CDATA[Realidade Aumentada com 10 anos de idade e 10 linhas de código.]]></title>
我设法删除了垃圾,只保留了文字。但是,该解决方案并没有让我很满意。我想要一种方法来改善这一点,但我真的不知道如何。代码如下:
#!/bin/bash
# Trauvin
URL=http://br-linux.org/feed/
lynx -source "$URL" |
grep '<title><!' | # get tag title
sed 's/<[^!>]*>//g' | # remove tag title
sed 's/<[^<]>*//g' | # remove <!
sed 's/CDATA/''/g' | # remove CDATA
sed 's/[[^[]//g' | # remove the square brackets start
sed 's/[]*]]//g' | # remove the squre brackets end
sed 's/>*//g' | # remove > end
head -n 5
为了不再混淆,我使用了几个 sed,所以我可以在所有行上添加 cmets。
【问题讨论】:
-
所以您希望改进一些工作代码?还是有什么问题?
-
只是改进。它正在工作。
-
那么 stackoverflow 对您来说是错误的站点,因为该站点用于调试问题。尝试在CodeReview 上发布以改进工作代码。请务必在发布之前查看他们的指南。
-
你希望输出是什么样的?