lff(1) lff(1) :~~() lff - filter for logging (|Iokv|+=)ou|>kv) =vI lff [-h] [-n] [-d] [-p] [-t] [-i] [-f] [-e] [-l] [-o] [-c] TTk<-<=>:< lff |I|cv()k,KEK-Linacv<-/\u|wvTTv|++=)v<-vxv|/\(C)|v<-vOku lff |I|cv()k,|Yc->()()(stdin)vuv|=YO()v|->|v|Ov|k,|+vv>Yvx |Yc(=()()(stdout)v(C)v>v()O~|v()|Iokv|k=()~=v()~|OOv=>v,v|kxvx (=()()vv(C)vOku iO -h<head> O~|v()=YO()headv|k,~<kvv|vv->->xO|vx|oO~vv(C)vO -n <O|OOTTkv()+~||kvw()kv|:~v|->xO|vx|oO~vv(C)vO -d ->|ov|->xO|vx|oO~vv(C)vO(MMM DD) -p ->|ov|->xO|vx|oO~vv(C)vO(PVWAVE format DD/MMM/YYYY) -t OO|v|->xO|vx|oO~vv(C)vO -i<file> |Iokv|:~vo fileMMDD(MM=month,DD=date) vxv=v|v(C)vO ()<=kii -itest, u/\|uOuO->v()~|OOk,test0129 vxv=v|v(C)vO -f<file> |Iokv|:~vo file vxv=v|v(C)vO -e<ext> |Iokv|:~v()/\|~O(=(extension)v| .ext vxvv(C)vO ~=()ovTTv|v>~|OOv() .log vxv=v|v(C)vO -l<dir> |Iokv|v|U|<uvOv|<-u|w||v| dir vxvv(C)vO -o |Iokv|v|U|<uvOv|~|OOv<-v=>k,->/\Ovx|Yc(=()()vxv=>(=()()vv(C)vO -c |v>kv|+kv>v|k<=u~u(=k*k<=u:u->k*vxvv(C)vO(DOS format) -u |v>kv|+kv>v|k<=u:u->k*vxvv(C)vO(unix format) -h ||~OkvYv||vpvv(C)vO 1) iO h, n, d, t v()k,|Yc->()()vxO>v|vuv() headerv|O~vpv|->wvxv|vv(C)vOku v/\v|v|vo=|v|OOv|vTTv|v->O~|vTTv|v>~|OOk,/\(C)||vv<-v()Ovxv|v|vUk, ~TTxv()O|\/v<-|+vTTv|v(C)vOku ()<=kii peach% ls -ls | lff -hls -t ls 21:41:21> total 45 ls 21:41:21> 1 -rwxr-xr-x 1 tp 216 Apr 3 1992 aki.j ls 21:41:21> 1 -rwxr-xr-x 1 tp 234 Apr 28 1992 aki disp.j k=I=Ov()okx 2) iO i, f, e, l v()k,|Iokv|vx=vOv|O~|v|Ooovvv(C)vOku iO f v| i v|->/\OvxO~|vOv|v/\v|v()v<-vxv(C)vOvku v/\v|v|v()iOv|O~|vOv|v|k,->xO|v()|Iokv|vx(=()()vTTv| |Yc(=()()vxv()(=()()vv(C)vOvkuv>v<vk,iO o vo->/\OvxO~|vTTv|v>~|OOv() ()~=vx(=()()vv(C)vOkuv/\v|v|v()iOv|O~|vv->O|+=)vOv|~|OOk,lff(1) v() tee(1) vxv|vwOv->vvv(C)vOvok,Y(=v()buffering v()=<v<-I<v=v~v>->IU|v|vv(C)vOku 3) iO c, u v()k,|Iokv|v|uou|u|uk>u()u=)k(R)uOk>u+u=)u~u()u=)v<->o+x k=u()u->u=)v=v|v()=xkv<-kxvOv|~|OOvx++=)vv(C)vOku iO c (DOS for- mat)v<-v()k,v|v()u()u=)vuv|v=>->/\vY|I okv|v|OO~|vOv|v/\v|vo(=+|v(C)vOku 4) lff |I|cvo|Yc(=()()vx(=()()vOv|~|OOk,x|Ooo fflush(3) v|v-OoovOv|v>v| =)vv<-(=()()vo buffering vTTv|v(C)vOvkulff =IYv<-=:v()ou|>kv|I|cv<- ->xO||+vOv|~|OOk,v/\v():*-|vx~|Iovv->vwv<vTTvvku =(),Oc:+ tee(1), fflush(3)