Respostas:
Sim:
brew install coreutils
ln -s /usr/local/bin/gtac /usr/local/bin/tac
ou use o MacPorts para instalar de coreutils
maneira semelhante.
ls
torna-se gls
, head
torna ghead
- se e assim por diante. Consequentemente, tac
é instalado como gtac
e o link simbólico sugerido nesta resposta é apenas tac
disponibilizado com esse nome. Omitindo o link simbólico, você ainda pode executar o programa como gtac
.
ln -s
não. ls -s
Isso faz mais sentido agora. Devo ter entrado corretamente na primeira vez.
No OS / X como em muitos sistemas (BSD, Solaris, AIX, IRIX ...), a funcionalidade do GNU tac
está disponível em tail
com a -r
opção . Portanto, não há necessidade de instalar o GNU tac
:
tail -r the-file
alias tac='tail -r'
vai fazer o truque para OP!
tac() { tail -r -- "$@"; }
Instale o gnu coreutils já compilado com o Rudix :
sudo rudix install coreutils
Ou faça o download e instale o Rudix coreutils
Uma solução temporária pode ser:
alias tac='perl -e "print reverse(<>)"'
<>
não apenas lê do STDIN, mas opcionalmente do @ARGV
. stackoverflow.com/questions/29020883/… Ainda não sei se reverse
carregará o arquivo inteiro na memória antes de emitir as linhas na ordem inversa. Isso seria terrível.
ln -s /usr/local/bin/gtac /usr/local/bin/tac
funcionou ... Esse comando não deveria apenas listar alguns blocos de memória de arquivos?