Instale el comando truncar de Ubuntu en Mac OS X 10.7

10

¿Hay alguna forma de instalar el comando truncado de Ubuntu en Mac OS X 10.7 para usar el comando en Terminal shell?

Rapaz
fuente
¿Que estás tratando de hacer?
quanta
Tengo un script de shell que se asegura de la función truncada, que quiero probar en Mac local.
Raptor

Respuestas:

13

Esto realmente no debería estar en Falla del servidor, probablemente Súper usuario o Preguntar diferente, pero puede instalar muchos binarios utilizando homebrew, que se encuentra aquí:

http://mxcl.github.com/homebrew/

En primer lugar, necesitará instalar herramientas de línea de comandos para Xcode, lo que probablemente requerirá que lo compre si aún no lo ha hecho.

Una vez que hayas hecho esto, ejecuta:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Para instalar homebrew, luego, cuando esté instalado, ejecute:

brew install truncate
Alex Berry
fuente
Descubrí que truncar en homebrew es diferente de la versión de Ubuntu. No tiene opción de bandera.
Raptor
También hay Fink: finkproject.org y Macports: macports.org que puedes probar, antes de hacerlo, ejecuta brew uninstall truncate.
Alex Berry
2
También agradecería un voto positivo ya que, independientemente de si funcionó para usted, proporcioné una respuesta válida a su pregunta :)
Alex Berry
Ahora, usando Yosemite lo siguiente me resolvió (también usando home brew: magiclantern.fm/forum/index.php?topic=6407.0
msmafra
17

Actualizar:

A partir de marzo de 2015 truncateya no está disponible en Homebrew como una fórmula independiente.

Como truncatees parte de GNU Coreutils, debe instalarlo en OS X con el siguiente comando:

> brew install coreutils

Después de la instalación truncateestará disponible bajo el nombre gtruncate. Tenga en cuenta que todos los programas de Coreutils estarán disponibles con el prefijo g.

Alex Yursha
fuente
2
Esta debería ser la respuesta aceptada.
fguillen
1
Parece que truncateestá disponible en Homebrew nuevamente como su propia fórmula.
Navin
4

Cuando truncateno está disponible, puede usarlo dden su lugar. P.ej.

Haga un archivo lleno de ceros:

dd if=/dev/zero of=/tmp/youroutputfile bs=1m count=50

Truncar un archivo existente:

dd if=yourinputfile of=/tmp/youroutputfile bs=1k count=1

Nota: el OS X ddusa letras de unidad en minúsculas donde GNU ddusa mayúsculas.

Ian Mackinnon
fuente
ddCasi se puede lograr el objetivo. ¿Se puede ddtruncar desde el final del archivo? Mientras leo del archivo man de dd, sé que solo se puede leer desde el comienzo del archivo. ¿Qué tal si elimino los últimos 100 bytes del archivo?
Raptor
1
No tan lejos como sé. Tendría que hacer el cálculo del tamaño objetivo usted mismo leyendo primero el tamaño del archivo y restando 100 bytes.
Ian Mackinnon
0

Un punto de consideración es si el archivo truncado es el mismo archivo o un archivo nuevo con el mismo nombre. Es importante para los archivos de registro que todavía se están escribiendo o taileditando.

:> file

Funciona tanto en * nix como en macOS para truncar un archivo en el lugar.

karmakaze
fuente