it-swarm-tr.com

Less komutunu dinamik olarak yenilemenin bir yolu var mı?

watch komutunu seviyorum, ancak sınırlamaları var.

watch ile less işlevselliğini taklit edip edemeyeceğimi merak ediyorum. Ben esas olarak dinamik çalışan bir komut dosyası ile değiştirilir gibi benim dizin boyunca kaydırma yeteneği arıyorum.

146
Zaid

less içinde, dosyanın sonunda okumaya devam etmek için F yazabilirsiniz (tail -f Gibi); farklı bir dosyayı görüntülemek için :e ve bir dosya adı yazabilirsiniz, ancak maalesef geçerli dosyanın adını girerseniz less dosyayı yeniden yüklemez. Bununla birlikte, sabgenton : :e Türünde önerilen mevcut dosyayı yeniden okumanın bir hilesi var dosyası ; hata iletisini görüntülemeye ve geçerli dosyayı yeniden yüklemeye neden olur.

watch ls İçin bir alternatif arıyorsanız, işte birkaç tane:

  • Modern dosya yöneticileri (örn. Nautilus, Thunar, Konqueror, Dolphin, Finder) görünümleri gerçek zamanlı olarak yeniler.
  • Emacs'ın gerçek zamanlı yenilemesi yoktur, ancak auto-revert-mode İle dosyayı veya dizini her 5 saniyede bir yeniden yükler (gecikme yapılandırılabilir).
  • Her ne kadar w3m bir web tarayıcısı olsa da, geçilebilir bir dizin ve metin dosyası görüntüleyicisi yapar. (Yerel) URL'yi yeniden yüklemek için R tuşuna basın.

Shift+F lesstailf ile benzer hale getirir. Yani, dosyaya daha fazla veri eklenirse yenilenir.

68
balki

Basitçe şunu yazın:

less +F filename

Bu, editör içinde "F" tuşuna basmayı öykünür.

44
jhclark

man sayfa çok bilgilendirici olabilir. Onlara gözdağı verme. Diğer her şey arasında man less şunları yapmak için R komutunu kullanabileceğinizi söylüyor:

   R      Repaint the screen, discarding any buffered input.  Useful if the file is changing while it is being viewed.

(Bu sorunun 6 yaşından büyük olduğunu biliyorum, ancak Google aramalarında geliyor, bu yüzden buraya ulaşmak için bağlantıyı tıklayan tek kişi ben değilim.)

23
destenson

less çalıştırılırken "F" tuşu tail -f, ancak burada aradığınızı elde edip etmeyeceğinden emin değilim.

5
Dave Jennings

Normalde yazıyorum G çıktıyı tek seferlik kuyruk haline getirmek. Özellikle CIFS gibi bir ağ dosya sistemi üzerinde faydalı buluyorum.

5
jorb

R yeniden boyama için dosyayı her zaman yeniden yüklemez.[1]

Dosyayı her zaman yeniden yükleyen bir çözüm, Yardım sayfasını açacak ve sonra çıkacak hq tuşuna basmaktır. Dosyayı yeniden yüklemeye zorlamanın bir yan etkisi vardır.


[1] R tarafından yapılan ve yeniden yüklenmeyen durumlara bazı örnekler:

  • > ve >> değişiklik: yeniden yüklenir
  • sed -i, gEdit, TextEdit: Yeniden yüklenme
  • Linux'ta, vi değişir: Yeniden yüklenir
  • Mac'te vi değişir: Yeniden yüklenme

Fark inode değişip değişmediğine inanıyorum (ls -i foo.txt). Eğer inode değişirse, R çalışmaz.

3
wisbucky

Dosyayı okumak için vim'i kullanabilir ve ardından .vimrc dosyası ile kolayca bir dosyayı yeniden yükleyebilirsiniz ,r:

let mapleader = ","
nnoremap <leader>r :edit <CR>

Dosyayı zaten düzenlediyseniz, vim'in şikayet edeceğini unutmayın. Sadece değiştir

let mapleader = ","
nnoremap <leader>r :edit! <CR>

Değişiklikleri görmezden gelmek için.

1
puk

Bunu tail -f yerine, çıktıyı izlemenize neden olur. Yine de çıktınız boyunca hareket etme (kaydırma) yeteneğini kaybediyor olacaksınız.

0
Gert

Bu konuyu herkes gibi buldum. Ben zaten dosyanın sonunda olduğunuzda, 'g' ve ardından 'G' kullanarak dosyanın yenilenmesini zorlar çözüm eklemek istiyorum.

Terminal programımda (SecureCRT) bunun için bir makro düğmesi oluşturdum. Makro basitçe 'gG'dir.

0
ZMitchell

Bir tarayıcı kullanmaktan çekinmiyorsanız Algernon web sunucusunu bu komutla başlatabilirsiniz:

algernon -a -t /directory/name

Daha sonra http: // localhost: 3000 / adresinde bir dosya listesi görüntülenecek ve otomatik olarak yenilenecektir.

0
Alexander