Shell 获取天气

    #!/bin/bash
    
    IFS='|'
    
    wget -nc -q http://www.weather.com.cn/data/list3/city.xml
    
    printf '\n' >> city.xml
    
    sed 's/,/\n/g' city.xml |
    
    while read id name
    do
        printf "id:%s,name:%s\n" $id $name
        wget -nc http://www.weather.com.cn/data/list3/city$id.xml
        printf '\n' >> city$id.xml
        sed 's/,/\n/g' city$id.xml |
        while read m n
        do
            printf "m:%s,n:%s\n" $m $n
            wget -nc http://www.weather.com.cn/data/list3/city$m.xml
        done
    done
    
    exec 1>fil.txt
    
    sed -e 's/,/\n/g' -e '/^$/d' *.xml | sort -t '|' -k1.1,1.5 |
    
    while read id name
    do
        case ${#id} in
        2)
            sheng=$name
            ;;
        4)
            shi=$name
            ;;
        6)
            xian=$name
            printf "%s|%s|%s|%s\n" $sheng $shi $xian $id
            ;;
        *)
            echo "error cityid length"
            ;;
        esac
    done

你可能感兴趣的:(shell)