Respuestas:
Si:
brew install coreutils
ln -s /usr/local/bin/gtac /usr/local/bin/tac
o use MacPorts para instalar coreutils
de manera similar.
ls
se convierte gls
, head
se convierte , ghead
etc. En consecuencia, tac
se instala como gtac
, y el enlace simbólico sugerido en esta respuesta es solo ponerlo a tac
disposición con ese nombre. Omitiendo el enlace simbólico, aún puede ejecutar el programa como gtac
.
ln -s
no. ls -s
Esto tiene más sentido ahora. Debo haberlo ingresado correctamente la primera vez.
En OS / X, como en muchos sistemas (BSD, Solaris, AIX, IRIX ...), la funcionalidad de GNU tac
está disponible tail
con la -r
opción . Entonces no es necesario instalar GNU tac
:
tail -r the-file
alias tac='tail -r'
hará el truco para OP!
tac() { tail -r -- "$@"; }
Instale gnu coreutils ya compilado con Rudix :
sudo rudix install coreutils
O descargue e instale GUI Rudix Coreutils
Una solución temporal podría ser:
alias tac='perl -e "print reverse(<>)"'
<>
no solo lee de STDIN, sino opcionalmente de @ARGV
. stackoverflow.com/questions/29020883/… Todavía no sé si reverse
cargará todo el archivo en la memoria antes de enviar las líneas en orden inverso. Eso sería terrible
ln -s /usr/local/bin/gtac /usr/local/bin/tac
hizo funcionar ... ¿No se supone que ese comando solo enumera algunos bloques de memoria de archivos?