/[cvs]/nfo/bash/ff
ViewVC logotype

Annotation of /nfo/bash/ff

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations)
Fri Oct 15 10:51:04 2004 UTC (20 years, 2 months ago) by rabit
Branch: MAIN
Initial commit: Follow file

1 rabit 1.1 #!/bin/sh
2     #---------------------------------------------------------------------
3     N='ff'
4     C='rabit@netfrag.org, 08.10.2004'
5     F="$N - Follow file"
6     I='$Id$'
7     #---------------------------------------------------------------------
8    
9     # If unset, set the per-user file list to a good default:
10     [ -z "$FFFILES" ] && FFFILES=$HOME'/.ff_files'
11    
12     E='echo -e'
13     YW="\033[1;33m"
14     GY="\033[0;37m"
15     B1="\033[1m"
16     B0="\033[0m"
17    
18     function CheckFileList {
19     if [ -e "$FFFILES" ]; then
20     FileListExists=1
21     else
22     $E " Error: '"$B1$FFFILES$B0"' does not exist yet. First add a file."
23     $E " Try '$B1$N --help$B0' for information on usage."
24     $E 'Aborting.'
25     fi
26     return
27     }
28     function CountFiles {
29     FileCount=`cat $FFFILES | wc -w`
30     return
31     }
32    
33     $E "$YW$F$GY ($C)\n($I)"
34     p1=$1
35     case "$p1" in
36     (-a)
37     if [ -e $2 ]; then
38     $E "- Adding file '"$B1$2$B0"'..."
39     echo $2 >> $FFFILES
40     CountFiles
41     $E " File index is '"$B1$FileCount$B0"'"
42     $E 'Done.'
43     else
44     $E " Error: '"$B1$2$B0"' does not exist."
45     $E 'Aborting.'
46     fi
47     exit
48     ;;
49     (-h|--help)
50     # Just overrun this casing and show help.
51     ;;
52     (-l)
53     CheckFileList; [ -z $FileListExists ] && exit
54     $E "- Listing files in '"$B1$FFFILES$B0"'..."
55     while read FileName; do
56     ((Index++))
57     $E ' '$B1$Index$B0": '"$B1$FileName$B0"'"
58     done < $FFFILES
59     $E 'Done.'
60     exit
61     ;;
62     (?*)
63     CheckFileList; [ -z $FileListExists ] && exit
64     CountFiles
65     if ((p1>0)) && ((p1<=FileCount)); then
66     FileName=`head -n $p1 $FFFILES | tail -n 1`
67     $E "- Following '"$B1$FileName$B0"' (press CTRL-C to stop)..."
68     echo
69     tail -f $FileName
70     else
71     $E ' Error: '$B1'<number>'$B0' must be in the range of 1 - '$FileCount'.'
72     $E 'Aborting.'
73     fi
74     exit
75     ;;
76     esac
77    
78     $E $B1'Usage:'$B0
79     $E " $B1$N -l$B0"
80     $E " List all files from '"$B1$FFFILES$B0"' with indices."
81     $E ' '$B1$N' <number>'$B0
82     $E ' Tail and follow the file with index '$B1'<number>'$B0'.'
83     $E ' '$B1$N' -a <filename>'$B0
84     $E " Add a file to '"$B1$FFFILES$B0"'. "$B1'<filename>'$B0' must exist.'
85     $E ' '$B1$N' [-h|--help]'$B0
86     $E ' Get this brief help.'
87     $E "The variable '${B1}FFFILES$B0' set overrides the file list default file name."
88     $E "(for example: '${B1}export FFFILES=\$HOME/fff.txt$B0'.)"
89     # EOF

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed