Это заняло больше времени, чем я ожидал, но сценарий ниже выполнит свою работу.
#!/bin/bash
str=" Sun Aug 21 2016 03:00:00, BLAH Mon Aug 22 2016 03:54:00, BLAH"
str+=" Tue Aug 23 2016 04:22:11, BLAH Thu Aug 25 2016 05:00:00, BLAH"
IFS='H' read -r -a inputArray <<< "$str"
days=(SunMon MonTue TueWed WedThu ThuFri FriSat SatSun)
count=1
found=0
lastOne=""
finalCount=0
for entry in "${inputArray[@]}"; do
thisOne="${entry:1:3}"
test="$lastOne$thisOne"
for pair in "${days[@]}"; do
if [ "$test" == "$pair" ]; then
((++count, ++found))
fi
done
if [ ! $found ]; then count=1; else found=0; fi
if [ $count -gt $finalCount ]; then
finalCount=$count
fi
lastOne=$thisOne
done
echo "There were $finalCount BLAHs in a row."