blob: ea9960a12de1c4bbb99c3e12244af9cec27e4704 [file] [log] [blame]
#!/bin/bash
CSV=FALSE
while getopts "c" name
do
case $name in
c) CSV=TRUE;;
esac
done
shift $(( OPTIND - 1 ))
if [ $# -gt 1 ]
then
echo "usage: $(basename $0) [ <options> ] [ <filename> ]" >&2
echo "options: -c for CSV format" >&2
exit 1
fi
# If the -c option is called, the option index is shifted over once and the
# value of the option is stored in $FILE. The default behavior is that the sed
# transform will read from standard input if no argument is provided and $FILE
# will be empty.
FILE=$1
SED_SCRIPT="
s/ CHROMEOS_RELEASE_VERSION=[^ ]*//
s/ BOARD=[^ ]*//
"
if [ $CSV = "TRUE" ]
then
echo "Location,Status,Fixed,Comments"
SED_SCRIPT="
s/ ...[A-Z]*//
$SED_SCRIPT
s/ /,/
s/$/,,/
"
sed "$SED_SCRIPT" $FILE
else
SED_SCRIPT="
s/^[^ ]* ...[A-Z]* //
$SED_SCRIPT
s/is up/servod &/
s/.*pwr_button:press.*/power button is stuck down/
s/^\(not running servod\) \(not running brillo\)$/\1, \2/
s/^not running servod$/up but not running servod, reason unknown/
s/^servod not configured$/running brillo, BOARD for &/
s/^servod failed$/servod running, but not working/
s/^is down/no answer to ping/
s/^\(not running servod\) \(ssh is down\)$/\1, ping is up, \2/
"
sed "$SED_SCRIPT" $FILE | sort | uniq -c |
awk '{ print ; sum += $1 } END { printf "%7d total\n", sum }' |
sort | cut -c -72
fi