За исключением того факта, что csh
не любит восклицательный знак без экранирования, в командной строке ваша команда выглядит нормально и ее нельзя улучшить
sed
альтернатива:
sed -E 's/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+).*/\4.\3.\2.\1/' input
awk -F. '{ print $4, $3, $2, $1 }' OFS='.' input
с помощью -F.
мы определяем входной файл F разделитель полей точка .
; затем печатаются поля $4, $3, $2, $1 с полями, разделенными точками, установленными вOFS='.' (
O вывод F поле S оператор)