29 lines
727 B
Bash
Executable File
29 lines
727 B
Bash
Executable File
#!/bin/bash -e
|
|
# File: count-message.sh
|
|
# Date: Wed Nov 29 02:32:40 2017 -0800
|
|
# Author: Kangjing Huang <[email protected]>
|
|
|
|
|
|
if [[ -z $1 ]]
|
|
then
|
|
echo "Usage: $0 [Directory of text messages]"
|
|
exit 1
|
|
fi
|
|
# TODO work on db directly
|
|
|
|
echo -e "Filename\t#Lines\t#Chars\t#Words"
|
|
|
|
SAVEIFS=$IFS
|
|
IFS=$(echo -en "\n\b")
|
|
|
|
for i in "$1"/*.txt
|
|
do
|
|
echo -en "$i\t"
|
|
LINECOUNT=$(cat "$i"| wc -l )
|
|
CHARCOUNT=$(cat "$i"| sed 's/.*:[0-9][0-9]:\(.*\)/\1/g' | sed 's/\[.*\]//g' | grep -v img | wc -m)
|
|
WORDCOUNT=$(cat "$i"| sed 's/.*:[0-9][0-9]:\(.*\)/\1/g' | sed 's/\[.*\]//g' | grep -v img | wc -w)
|
|
echo -e "$LINECOUNT\t$CHARCOUNT\t$WORDCOUNT"
|
|
done | sort -t $'\t' -k 2 -n | column -t -s $'\t'
|
|
|
|
IFS=$SAVEIFS
|