cosmic/bin/countships

28 lines
733 B
Bash
Executable File

#!/bin/sh
all_users=$(grep -E '1[0-9]{3}' "/etc/passwd" | grep 'home' | awk -F":" '{print $1}')
finish () {
if [ -f "$temp_shiplist" ]; then
rm "$temp_shiplist"
fi
}
trap finish EXIT
# use temp file for accumulator
temp_shiplist=$(mktemp -t "$(basename "$0").shiplist.XXXXXXX") || exit 1
# find all ship folders
find "/var/gopher/" -maxdepth 1 ! -path "/var/gopher/" ! -path "/var/gopher/ships" ! -path "/var/gopher/log" -type d | while read -r shipdir
do
owner=$(stat -c %U "$shipdir")
printf "%s\\n" "$owner" >> "$temp_shiplist"
done
sort "$temp_shiplist" | uniq -c | sort -k1,1nr -k2,2n | awk '{print $1, $2}'
for u in $all_users; do
if ! grep -q "$u" "$temp_shiplist"; then
printf "0 %s\\n" "$u"
fi
done