1#!/bin/rc 2 3if(! ~ $#* 1) { 4 echo usage: fedex 123456789012 >[1=2] 5 exit usage 6} 7 8rfork e 9 10fn bgrep{ 11pattern=`{echo $1 | sed 's;/;\\&;'} 12shift 13 14@{ echo 'X { 15$ 16a 17 18. 19} 20X ,x/(.+\n)+\n/ g/'$pattern'/p' | 21sam -d $* >[2]/dev/null 22} 23} 24 25fn awk2 { 26 awk 'NR%2==1 { a=$0; } 27 NR%2==0 { b=$0; printf("%-30s %s\n", a, b); } 28 ' $* 29} 30 31fn awk3 { 32 awk '{line[NR] = $0} 33 END{ 34 i = 4; 35 while(i < NR){ 36 what=line[i++]; 37 when=line[i]; 38 comment=""; 39 if(!(when ~ /..\/..\/.... ..:../)){ 40 # out of sync 41 printf("%s\n", what); 42 continue; 43 } 44 i++; 45 if(!(line[i+1] ~ /..\/..\/.... ..:../) && 46 (i+2 > NR || line[i+2] ~ /..\/..\/.... ..:../)){ 47 what = what ", " line[i++]; 48 } 49 printf("%s %s\n", when, what); 50 } 51 }' $* 52} 53 54# hget 'http://www.fedex.com/cgi-bin/track_it?airbill_list='$1'&kurrent_airbill='$1'&language=english&cntry_code=us&state=0' | 55hget 'http://www.fedex.com/Tracking?action=track&language=english&cntry_code=us&initial=x&mps=y&tracknumbers='$1 | 56 htmlfmt >/tmp/fedex.$pid 57sed -n '/Tracking number/,/^$/p' /tmp/fedex.$pid | awk2 58echo 59sed -n '/Reference number/,/^$/p' /tmp/fedex.$pid | awk2 60echo 61sed -n '/Date.time/,/^$/p' /tmp/fedex.$pid | sed 1,4d | fmt -l 4000 | sed 's/ [A-Z][A-Z] /&\n/g' 62rm /tmp/fedex.$pid 63