Zainstaluj polecenie obcięcia Ubuntu w systemie Mac OS X 10.7

10

Czy istnieje sposób zainstalowania polecenia obcięcia Ubuntu w systemie Mac OS X 10.7 w celu użycia polecenia w powłoce terminalu?

Raptor
źródło
Co próbujesz zrobić?
kwanty
Mam skrypt powłoki, który zapewnia funkcję obcinania, którą chcę wypróbować na lokalnym komputerze Mac.
Raptor,

Odpowiedzi:

13

To nie powinno tak naprawdę być w błędzie serwera, prawdopodobnie Super User lub Ask Different, ale możesz zainstalować wiele plików binarnych za pomocą homebrew, które znajdziesz tutaj:

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

Najpierw musisz zainstalować narzędzia wiersza polecenia dla Xcode, co prawdopodobnie będzie wymagać zakupu, jeśli jeszcze tego nie zrobiłeś.

Po wykonaniu tej czynności uruchom:

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

Aby zainstalować homebrew, a następnie, gdy jest zainstalowany, uruchom:

brew install truncate
Alex Berry
źródło
Odkryłem, że obcięcie w homebrew jest inne niż wersja Ubuntu. Nie ma flagi opcji.
Raptor,
Istnieje również Fink: finkproject.org i Macports: macports.org, które możesz wypróbować, zanim jednak to zrobisz, uruchom przycinanie dezinstalacji brew.
Alex Berry,
2
Doceniłbym również głosowanie, ponieważ bez względu na to, czy zadziałało dla ciebie, podałem prawidłową odpowiedź na twoje pytanie :)
Alex Berry
Teraz, używając Yosemite, rozwiązałem dla mnie następujące
kwestie
17

Aktualizacja:

Od marca 2015 r. Nie truncatejest już dostępny w Homebrew jako samodzielna formuła.

Jako truncateczęść GNU Coreutils powinieneś zainstalować go w systemie OS X za pomocą następującego polecenia:

> brew install coreutils

Po instalacji truncatebędą dostępne pod nazwą gtruncate. Pamiętaj, że wszystkie programy z Coreutils będą dostępne z prefiksem g.

Alex Yursha
źródło
2
To powinna być zaakceptowana odpowiedź.
fguillen
1
Wygląda na truncateto, że jest ponownie dostępny w Homebrew jako jego własna formuła.
Navin
4

Jeśli truncatenie jest dostępny, często możesz go użyć dd. Na przykład.

Zrób plik pełen zer:

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

Obetnij istniejący plik:

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

Uwaga: OS X ddużywa małych liter, a GNU ddużywa wielkich liter.

Ian Mackinnon
źródło
ddmoże prawie osiągnąć cel. Czy można ddobciąć od końca pliku? Gdy czytam z pliku man dd, wiem, że można go odczytać tylko od początku pliku. Co powiesz na usunięcie ostatnich 100 bajtów z pliku?
Raptor
1
Nie, o ile wiem. Musisz sam wykonać obliczenie rozmiaru docelowego, najpierw czytając rozmiar pliku i odejmując 100 bajtów.
Ian Mackinnon
0

Jednym z punktów do rozważenia jest to, czy obcięty plik to ten sam plik lub nowy plik o tej samej nazwie. Ważne dla plików dziennika, które są nadal zapisywane lub tailedytowane.

:> file

Działa zarówno na * nix, jak i macOS, aby obciąć plik w miejscu.

karmakaze
źródło