我正在研究一种从国家地震信息中心 (USGS) 自动下载地震参数的方法。不幸的是,他们的格式是一堆废话,我认为我不太可能说服他们改变格式。所以,我必须格式化他们的 <pre> html block 只是为了将其放入表格形式。
但我在字符串格式化方面的经验有限,所以我被卡住了(但肯定有人可能有解决方案)。这是一个例子:
curl --silent http://earthquake.usgs.gov/earthquakes/eqinthenews/2010/uu00002715/uu00002715_gcmt.php |\
sed -n '/<pre>/,/<\/pre>/p' |\
egrep -v '(#)|(pre>)' |\
egrep '(MW)|(ORIGIN)|(LAT)|(DEP)|(BEST DBLE)|(NP1)'
它给出了我需要格式化的信息:
April 15, 2010, UTAH, MW=4.6
ORIGIN TIME: 23:59:42.8 0.4
LAT:41.72N 0.03;LON:110.86W 0.03
DEP: 12.5 1.8;TRIANG HDUR: 0.6
BEST DBLE.COUPLE:M0= 1.07*10**23
NP1: STRIKE=193;DIP=35;SLIP= -80
我想要这样的格式:
name date time lon lat dep dep_err Mw M0 strike dip slip
UTAH 2010/04/15 23:59:42.8 -110.86 41.72 12.5 1.8 4.6 1.07e23 193 35 -80
请注意经度将转换为东经(因此符号会发生变化)。
我希望解决方案在 awk 中, python , 或 unix shell命令,但我会招待ruby或 perl (我可能不明白发生了什么)。
请您参考如下方法:
为什么不只使用他们的一种 XML 格式的提要,例如 this one .我确信它更容易解析。
