49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						||
 | 
						||
repo=fat0troll/lorchess
 | 
						||
tournament=autumn2013
 | 
						||
 | 
						||
# Variables
 | 
						||
digit='[[:digit:]]\+'
 | 
						||
 | 
						||
# Colors
 | 
						||
cyan='\\033[01;36m'
 | 
						||
red='\\033[01;31m'
 | 
						||
restore='\\033[00m'
 | 
						||
 | 
						||
# Note that we use `"$@"' to let each command-line parameter expand to a
 | 
						||
# separate word. The quotes around `$@' are essential!
 | 
						||
# We need ARGS as the `eval set --' would nuke the return value of getopt.
 | 
						||
args=$(getopt --options p: --longoptions player: -- "$@")
 | 
						||
 | 
						||
# Note the quotes around `$ARGS': they are essential!
 | 
						||
eval set -- "$args"
 | 
						||
 | 
						||
if [[ $1 == -p || $1 == --player ]]; then
 | 
						||
    name=$2
 | 
						||
    shift 2
 | 
						||
fi
 | 
						||
shift
 | 
						||
 | 
						||
for tour in $@; do
 | 
						||
    # Change tour numbers: `1' -> `01', `2' -> `02', and so on
 | 
						||
    tour=0"$tour"
 | 
						||
    tour=${tour:(-2)}
 | 
						||
 | 
						||
    url=https://raw.github.com/$repo/master/$tournament/tour_$tour/tour_info
 | 
						||
 | 
						||
    echo ">>>"
 | 
						||
    curl -q --silent -w '\n' $url | while read line; do
 | 
						||
        if [[ -z $line ]]; then
 | 
						||
            echo
 | 
						||
        elif [[ -z $name || $(egrep "Тур|=|Время|$name" <<< "$line") ]]; then
 | 
						||
            # Colorize output
 | 
						||
            line=$(sed "s/${digit}/${cyan}\0${restore}/g" <<< "$line")
 | 
						||
            [[ -n $name ]] && line=$(sed "s/${name}/${red}\0${restore}/g" <<< "$line")
 | 
						||
            echo -e $line
 | 
						||
        fi
 | 
						||
    done
 | 
						||
done
 | 
						||
 | 
						||
exit 0
 |