OS X'te tac komutunu nasıl alabilirim?


59

tacÇıktısını tersine çevirmek için kullanmayı seviyorum cat. Ancak, Mavericks terminalinde mevcut değil. MacPorts'ta bulmaya çalıştım ve yine mevcut değil. Biri lütfen bana nasıl gidileceğini gösterebilir tacmi? Günlük dosyalarını okumak için çok yararlıdır.

Yanıtlar:


65

Evet:

  • Homebrew'i yükleyin
  • brew install coreutils
  • ln -s /usr/local/bin/gtac /usr/local/bin/tac görünüşe göre son Homebrew ile gerekli değil, aşağıdaki Ran Ever-Hadani'nin yorumuna bakın

veya coreutilsbenzer şekilde yüklemek için MacPorts'u kullanın .


Nasıl çalıştığını anlamadım ln -s /usr/local/bin/gtac /usr/local/bin/tac... Bu komut sadece bazı dosya bellek bloklarını listelemek zorunda değil mi?
Timothy Swan

1
Sembolik bağlantı sadece kolaylık sağlamak içindir. Homebrew, orjinal isimlerini 'g' ile ekleyerek coreutil ikili dosyalarını / usr / local / bin dizinine kurar. lsolur gls, headolur gheadve böyle devam eder. Sonuç olarak, tacolduğu gibi kurulur gtacve bu cevapta önerilen bağlantı sadece tacbu isim altında kullanılabilir hale getirmek içindir . Sembolik bağlantıyı atlayarak, programı yine de çalıştırabilirsiniz gtac.
grebneke

Ah. Bahsettiğin ln -sdeğil ls -sBu şimdi daha mantıklı. İlk defa doğru girmiş olmalıyım.
Timothy Swan

2
Grebneke'nin cevabına ek olarak : artık yumuşak bağlantıya gerek yok. G soneki artık sadece osx zaten bu isimde bir komuta sahipse eklenir, bu yüzden tac gtac değil tac olarak kurulur.
Ran Ever-Hadani

69

OS / X birçok sistemde (BSD, Solaris, AIX, IRIX ...) üzerine, GNU işlevselliği gibi tacmevcuttur tailile -r opsiyon . Yani GNU’yu kurmanıza gerek yok tac:

tail -r the-file

11
Yani, alias tac='tail -r'OP için hile yapacak!
mkc

8
Eh, aslında bir kabuk takma adı kullanmak başarısız olabilir çünkü takma adlar kabuk komut dosyalarına aktarılmaz. Gibi bir işlev kullanıntac() { tail -r -- "$@"; }
kojiro


0

Geçici bir çözüm olabilir:

alias tac='perl -e "print reverse(<>)"'

1
Bu, sadece <>STDIN'den okumayı değil, isteğe bağlı olarak okumayı da öğrenmeme neden oldu @ARGV. stackoverflow.com/questions/29020883/…reverse Satırları ters sırayla vermeden önce dosyanın tamamını belleğe yükleyip yükleyemeyeceğini hala bilmiyorum . Bu korkunç olurdu.
Bruno Bronosky

@BrunoBronosky,> ... STDIN, ancak isteğe bağlı olarak @ ARGV'den: evet <> bunun içindir. > ... tüm dosyayı belleğe yükler ...: EVET, YAZACAK! (gigabayt dosyalarla bunu yapmaktan kaçının)
JJoao
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.