Para reverter um arquivo, caractere por caractere, usando tac , use:
tac -r -s 'x\|[^x]'
Isso está documentado em info tac :
# Reverse a file character by character. tac -r -s 'x\|[^x]'
-r faz com que o separador seja tratado como uma expressão regular . -s SEP usa SEP como separador . x\|[^x] é uma expressão regular que corresponde a todos os caracteres (aqueles que são x e os que não são x ).
$ cat testfile
abc
def
ghi
$ tac -r -s 'x\|[^x]' testfile
ihg
fed
cba%
$
tac file não é o mesmo que cat file , a menos que file tenha apenas uma linha. tac -r file é o mesmo que tac file porque o separador padrão é \n , que é o mesmo quando tratado como uma expressão regular e não.