} else *pto1 = *pfrom1; *pcmd = *s++; a2i(*pfrom2); if (*s == ',') { s++; a2i(*pto2); } else *pto2 = *pfrom2;}nskip(fin, n) /* skip n lines of file fin */ FILE *fin;{ char buf[BUFSIZ]; while (n-- > 0) fgets(buf, sizeof buf, fin);}ncopy(fin, n, fout) /* copy n lines from fin to fout */ FILE *fin, *fout;{ char buf[BUFSIZ]; while (n-- > 0) { if (fgets(buf, sizeof buf, fin) == NULL) return; fputs(buf, fout); }}#include "efopen.c"3.8.28
makefilefiles: files.o files1.o directory.o cc files.o files1.o directory.o -o filesp0: p0.c ttyin0.c cc p0.c ttyin0.cclean: rm -f *.o a.out3.8.29
newer# newer f: list files newer than fls -t | sed '/^'$1'$/q'3.8.30
news1# news: print news files, version 1HOME=. # debugging onlycd . # place holder for /usr/newsfor i in `ls -t * $HOME/.news_time`do case $i in */.news_time) break ;; *) echo news: $i esacdonetouch $HOME/.news_time3.8.31
news2# news: print news files, version 2HOME=. # debugging onlycd . # place holder for /usr/newsIFS='' # just a newlinefor i in `ls -t * $HOME/.news_time 2>&1`docase $i in*' not found') ;;*/.news_time) break ;;*) echo news: $i ;;esacdonetouch $HOME/.news_time3.8.32
news3# news: print news files, final versionPATH=/bin:/usr/binIFS='' # just a newlinecd /usr/newsfor i in `ls -t * $HOME/.news_time 2>&1`do IFS=' ' case $i in *' not found') ;; */.news_time) break ;; *) set X`ls -l $i` echo "$i: ($3) $5 $6 $7" cat $i esacdonetouch $HOME/.news_time3.8.33
nohuptrap "" 1 15if test -t 2>&1then echo "Sending output to 'nohup.out'" exec nice -5 $* >>nohup.out 2>&1else exec nice -5 $* 2>&1fi3.8.34
older# older f: list files older than fls -tr | sed '/^'$!'$/q'3.8.35
overwrite1# overwrite: copy standard input to output after EOF# version 1. BUG herePATH=/bin:/usr/bincase $# in1) ;;*) echo 'Usage: overwrite file' 1>&2; exit 2esacnew=/tmp/overwr.$$trap 'rm -f $new; exit 1' 1 2 15