Instale o comando truncate do Ubuntu no Mac OS X 10.7

10

Existe alguma maneira de instalar o comando truncado do Ubuntu no Mac OS X 10.7 para usar o comando no Terminal shell?

Raptor
fonte
O que você está tentando fazer?
quanta
Eu tenho um script de shell que garante a função truncada, que eu quero experimentá-lo no Mac local.
Raptor

Respostas:

13

Isso realmente não deveria estar na falha do servidor, provavelmente Superusuário ou Ask Different, mas você pode instalar muitos binários usando o homebrew, encontrado aqui:

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

Primeiro, você precisará instalar ferramentas de linha de comando para o Xcode, o que provavelmente exigirá que você a compre, caso ainda não o tenha feito.

Depois de fazer isso, execute:

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

Para instalar o homebrew, quando estiver instalado, execute:

brew install truncate
Alex Berry
fonte
Eu descobri que o truncado no homebrew é diferente da versão do Ubuntu. Não possui sinalizador de opção.
Raptor
Há também Fink: finkproject.org e Macports: macports.org você poderia tentar, antes de fazer isso funcionar bebida desinstalação truncado, no entanto.
21812 Alex Berry
2
Também gostaria de receber um upvote que, independentemente de se ele trabalhou para você, eu fiz dar uma resposta válida para a sua pergunta :)
Alex Berry
Agora, usando o Yosemite, o seguinte foi resolvido para mim (também usando a fermentação doméstica: magiclantern.fm/forum/index.php?topic=6407.0
msmafra
17

Atualizar:

A partir de março de 2015, truncatenão estava mais disponível no Homebrew como uma fórmula autônoma.

Como truncatefaz parte do GNU Coreutils, você deve instalá-lo no OS X com o seguinte comando:

> brew install coreutils

Após a instalação truncateestará disponível sob o nome gtruncate. Observe que todos os programas do Coreutils estarão disponíveis com o prefixo g.

Alex Yursha
fonte
2
Essa deve ser a resposta aceita.
Fevillen
1
Parece que truncateestá disponível no Homebrew novamente como sua própria fórmula.
Navin
4

Quando truncatenão está disponível, você pode usá-lo com frequência dd. Por exemplo.

Faça um arquivo cheio de zeros:

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

Truncar um arquivo existente:

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

Nota: o OS X ddusa letras minúsculas em unidades, onde o GNU ddusa letras maiúsculas.

Ian Mackinnon
fonte
ddquase pode atingir a meta. Pode ddtruncar a partir do final do arquivo? Enquanto leio do arquivo man dd, sei que ele só pode ser lido desde o início do arquivo. Que tal excluir os últimos 100 bytes do arquivo?
Raptor
1
Não tão longe quanto o que sei. Você precisaria fazer o cálculo do tamanho do destino lendo primeiro o tamanho do arquivo e subtraindo 100 bytes.
22612 Ian Mackinnon
0

Um ponto de consideração é se o arquivo truncado é o mesmo arquivo ou um novo arquivo com o mesmo nome. De importância para os arquivos de log que ainda estão sendo gravados ou taileditados.

:> file

Funciona no * nix e no macOS para truncar um arquivo no local.

karmakaze
fonte