我们需要解析网站数据,sed和awk是完成这项工具的主要工具,

比如我们获取到了一个演员的评级列表

如何通过文本处理工具来解析相同的数据

我们首先获取相信的信息命令行

lynx -dump

http://www.johnorres.net/BoxOfficefemaleList.html

| \

grep -o “Rank-.*” | \

sed ‘s/Rank-//;s/\[[0-9]\+\]//’ | \

sort -nk 1| \

awk’

{

for(i=3;i<=NF;i++){$2=$2″ “$i}

printf “%-4s %s\n”,$1,$2;

}’ > actresslist.txt

那么工作的原理在于

Lynx是一个基于命令行的网页浏览器,会打印出网站的文本版本

我们可以利用其避免移除HTML标记

然后解析所有Rank开头的行

sed ‘s/Rank-//; s/\[0-9]\+\]//’

根据评级情况进行排序,

我们使用awk来指定宽短,保持演员的评级信息和姓名之间的空隙, %-4s指定了4个字符的宽度

进行了拼接

发表评论

邮箱地址不会被公开。 必填项已用*标注