\xNN
escape-последовательность в GNU sed, но это не стандартно, и в особенности это не доступно на Солярисе.
Можно включать литеральный символ ESC в сценарий, но это мешало бы читать и редактировать.
Можно использовать printf
генерировать символ ESC. Это понимает восьмеричные Escape, не шестнадцатеричные.
esc=$(printf '\033')
echo "test" | sed "s,.*,${esc}[31m&${esc}[0m,"
Можно звонить tput
генерировать текст замены в вызове к sed. Эта команда ищет escape-последовательности в terminfo базе данных. В теории, с помощью tput
делает Ваш сценарий более портативным, но на практике Вы вряд ли встретитесь с терминалом, который не использует управляющие коды ANSI.
echo "test" | sed "s,.*,$(tput setaf 1)&$(tput sgr0),"
считайте свой файл линию за линией, проверьте, попадает ли значение в данную категорию и вывод соответственно.
awk '{if($1>2)print $1,"R"; else if ($1<-2)print $1,"S"; else print $1,"M"}'