antony@notes:~/misc$ cat "回家功課.md"
回家功課
回家功課
bigred@adm100:~$ wget -qO - http://www.oc99.org/dt/mydip1.sh | bash -q 代表不要回傳下載幾% -O - 代表網站的程式輸出到終端機
#!/bin/bash
[ ! -d ~/opendata/dip ] && mkdir -p ~/opendata/dip/
[ ! -d tmp/dip ] && mkdir -p tmp/dip/
wget http://104.131.160.22/dt/dip.url -O tmp/dip.url &>/dev/null
while read line
do
[ "$line" == "" ] && break
u=${line%% *}; f=${line##* }
# echo $u,$f
wget "$u" -O tmp/$f &>/dev/null;unzip -o tmp/$f -d tmp/dip &>/dev/null
[ "$?" == "0" ] && echo "$f ok"
n=$(ls tmp/dip/*DailyImmigPort*.csv)
mv tmp/dip/"${n##*/}" ~/opendata/dip/
rm -r tmp/dip/*
sleep 2
done < tmp/dip.url
[ -f tmp/diphead.txt ] && rm tmp/diphead.txt
n=$(ls ~/opendata/dip/*.csv)
for x in $n
do
[ ! -f tmp/diphead.txt ] && head -n 1 $x > tmp/diphead.txt
cat $x | tail -n +3 >> tmp/dip.tmp
mv tmp/dip.tmp $x
done
s=$(cat tmp/diphead.txt | cut -d ',' -f10- | tr ',' ' ')
[ -f ~/opendata/dip/seaport.list ] && rm ~/opendata/dip/seaport.list && rm ~/opendata/dip/airport.list
c=10
for x in `echo $s`
do
[ "$c" == "100" ] && break
echo $x | grep '港' &>/dev/null
if [ "$?" == "0" ]; then
echo "$c $x" >> ~/opendata/dip/seaport.list
else
echo "$c $x" >> ~/opendata/dip/airport.list
fi
c=$(( $c+3 ))
done
echo "[機場 : airport.list]"
cat ~/opendata/dip/airport.list
echo""
echo "[港口 : seaport.list]"
cat ~/opendata/dip/seaport.list#!/bin/bash
[ ! -d ~/opendata/dip/ ] && echo "run mydip1.sh first" && exit 1
mkdir -p ~/opendata/dip/all; rm ~/opendata/dip/all/*.csv tmp/dip.csv &>/dev/null
[ ! -d tmp ] && mkdir tmp
echo "" >tmp/dip.csv
for x in `ls ~/opendata/dip/*.csv`
do
cat $x >> tmp/dip.csv
done
cat tmp/dip.csv | cut -d ',' -f1,3,4,6,7 > ~/opendata/dip/all/diptaoyuan.csv
l=$(cat tmp/dip.csv | wc -l)
while read line
do
s=${line% *}; s1=$(( $s+1 ))
n=${line#* }
[ -f column.file ] && rm column.file
c=1
while [ $c -le $l ]
do
echo $n >> column.file
c=$(( $c+1 ))
done
paste -d',' <(cut -d',' -f1 tmp/dip.csv) column.file <(cut -d',' -f"$s,$s1" tmp/dip.csv) > tmp/$s.txt
while read line
do
echo $s-$line >> tmp/$s1.txt
done < tmp/$s.txt
cat tmp/$s1.txt >> ~/opendata/dip/all/dipseaport.csv
done < ~/opendata/dip/seaport.list
while read line
do
s=${line% *}; s1=$(( $s+1 ))
n=${line#* }
[ -f column.file ] && rm column.file
c=1
while [ $c -le $l ]
do
echo $n >> column.file
c=$(( $c+1 ))
done
paste -d',' <(cut -d',' -f1 tmp/dip.csv) column.file <(cut -d',' -f"$s,$s1" tmp/dip.csv) > tmp/$s.txt
while read line
do
echo $s-$line >> tmp/$s1.txt
done < tmp/$s.txt
cat tmp/$s1.txt >> ~/opendata/dip/all/dipairport.csv
done < ~/opendata/dip/airport.list