Aqui está uma variação do seu script, como um "one-liner":
gunzip -c /var/log/cisco/cisco.log-$(date +%Y%m%d).gz | \
grep "Virtual device ath0 asks to queue packet" | \
awk '{print $4}' | sort | uniq | wc -l
Evita a criação de arquivos temporários intermediários, que podem ser mais rápidos. Se você tinha alguma necessidade ou uso para esses arquivos intermediários, o one-liner é uma direção pior.
Uma das coisas que aprendi ao ler scripts de shell bem escritos foi que a sequência "grep | awk" geralmente pode ser combinada. Para o seu script, observe que o comando grep foi substituído:
gunzip -c /var/log/cisco/cisco.log-$(date +%Y%m%d).gz | \
awk '/Virtual device ath0 asks to queue packet/ { print $4 }' | \
sort | uniq | wc -l