ping-sweeper.sh

#!/bin/bash
echo "enter ip range:"
read IP

ips=''

for ip in $(seq 1 254);do
ips="$ips$IP.$ip\n"
done
echo -e $ips > /tmp/f
cat /tmp/f | xargs -I @ -P 50 sh -c 'ping @ -c 1 -W 1 | grep "bytes from" | cut -f 4 -d " " | cut -f "1" -d ":"'

example usage:

> bash ping-sweeper.sh
enter ip range:
10.0.0



10.0.0.1
10.0.0.2
10.0.0.3