19a747e4fSDavid du Colombier#!/bin/rc 29a747e4fSDavid du Colombier 39a747e4fSDavid du Colombierif(! ~ $#* 1) { 49a747e4fSDavid du Colombier echo usage: fedex 123456789012 >[1=2] 59a747e4fSDavid du Colombier exit usage 69a747e4fSDavid du Colombier} 79a747e4fSDavid du Colombier 89a747e4fSDavid du Colombierrfork e 99a747e4fSDavid du Colombier 103ff48bf5SDavid du Colombierfn bgrep{ 113ff48bf5SDavid du Colombierpattern=`{echo $1 | sed 's;/;\\&;'} 123ff48bf5SDavid du Colombiershift 139a747e4fSDavid du Colombier 147abd426fSDavid du Colombier@{ echo 'X { 153ff48bf5SDavid du Colombier$ 163ff48bf5SDavid du Colombiera 173ff48bf5SDavid du Colombier 183ff48bf5SDavid du Colombier. 193ff48bf5SDavid du Colombier} 203ff48bf5SDavid du ColombierX ,x/(.+\n)+\n/ g/'$pattern'/p' | 213ff48bf5SDavid du Colombiersam -d $* >[2]/dev/null 223ff48bf5SDavid du Colombier} 237abd426fSDavid du Colombier} 247abd426fSDavid du Colombier 257abd426fSDavid du Colombierfn awk2 { 267abd426fSDavid du Colombier awk 'NR%2==1 { a=$0; } 277abd426fSDavid du Colombier NR%2==0 { b=$0; printf("%-30s %s\n", a, b); } 287abd426fSDavid du Colombier ' $* 297abd426fSDavid du Colombier} 307abd426fSDavid du Colombier 317abd426fSDavid du Colombierfn awk3 { 327abd426fSDavid du Colombier awk '{line[NR] = $0} 337abd426fSDavid du Colombier END{ 347abd426fSDavid du Colombier i = 4; 357abd426fSDavid du Colombier while(i < NR){ 367abd426fSDavid du Colombier what=line[i++]; 377abd426fSDavid du Colombier when=line[i]; 387abd426fSDavid du Colombier comment=""; 397abd426fSDavid du Colombier if(!(when ~ /..\/..\/.... ..:../)){ 407abd426fSDavid du Colombier # out of sync 417abd426fSDavid du Colombier printf("%s\n", what); 427abd426fSDavid du Colombier continue; 437abd426fSDavid du Colombier } 447abd426fSDavid du Colombier i++; 457abd426fSDavid du Colombier if(!(line[i+1] ~ /..\/..\/.... ..:../) && 467abd426fSDavid du Colombier (i+2 > NR || line[i+2] ~ /..\/..\/.... ..:../)){ 477abd426fSDavid du Colombier what = what ", " line[i++]; 487abd426fSDavid du Colombier } 497abd426fSDavid du Colombier printf("%s %s\n", when, what); 507abd426fSDavid du Colombier } 517abd426fSDavid du Colombier }' $* 527abd426fSDavid du Colombier} 533ff48bf5SDavid du Colombier 543ff48bf5SDavid du Colombier# hget 'http://www.fedex.com/cgi-bin/track_it?airbill_list='$1'&kurrent_airbill='$1'&language=english&cntry_code=us&state=0' | 55*6dbcb8a8SDavid du Colombierhget 'http://www.fedex.com/Tracking?action=track&language=english&cntry_code=us&initial=x&mps=y&tracknumbers='$1 | 563ff48bf5SDavid du Colombier htmlfmt >/tmp/fedex.$pid 573cc1eb97SDavid du Colombiersed -n '/Tracking number/,/^$/p' /tmp/fedex.$pid | awk2 587abd426fSDavid du Colombierecho 593cc1eb97SDavid du Colombiersed -n '/Reference number/,/^$/p' /tmp/fedex.$pid | awk2 603cc1eb97SDavid du Colombierecho 613cc1eb97SDavid du Colombiersed -n '/Date.time/,/^$/p' /tmp/fedex.$pid | sed 1,4d | fmt -l 4000 | sed 's/ [A-Z][A-Z] /&\n/g' 623ff48bf5SDavid du Colombierrm /tmp/fedex.$pid 63