Çok uzun bir dosyanın üst kısmını görmek için `cat` nasıl kullanılır?


18

Nasıl yapılacağını bilmek istiyorum

cat my-verylong-file

ve son yerine üstten göster. Gibi adam komutu yok.


5
Tamlık için, morekomut da vardır ... ama moredaha az yetenekli olduğu için less, "daha az daha fazladır" çok doğrudur. Sonunda pg"sayfa" için de var . Bu komutları ayrıca borularla da kullanabilirsiniz - ör. ls -l | lessçok uzun bir dosya listesini birden çok sayfaya bölmek için. Ve hatta kullanabilirsiniz cat my-verylong-file | less.
Baard Kopperud

Ayrıca "Varsayılan olarak, insan / usr / bin / less -is komutunu kullanır." (itibaren man man).
Dijital Travma

Yanıtlar:


43

lessDosyayı üstten gösterecek şekilde kullanın , tıpkı aşağıdaki gibi kaydırmanızı sağlar man:

less my-verylong-file
  • Çıkmak qiçin tuşuna basın .

Yalnızca bir dosyanın ilk n satırını görmekle ilgileniyorsanız headalternatif olabilir:

head -n 25 filename

dosyanın ilk 25 satırını gösterir.

Bir dosyanın n son satırları için aynı şey tail:

tail -n 25 filename

2
lesskomutların çok uzun çıktılarını kaydırmak için de kullanılabilir. İşte bir örnek sunulmuştur: ls -laR --color=always ~/ | less -R.
pa4080

2
Ve "less" komut adı, "more" komut adında (daha çok veya daha az yerine geçer) bir puntodur ve bu da onun verdiği "--Daha fazla" isteminden adlandırılmıştır. MacOS altında, metamorfozun tamamlanmasıyla daha fazlası aynı ikilidir :)
Thorbjørn Ravn Andersen

5
Yani, aşağı yukarı aynı şey mi?
Ryan The Leach

1
@ pa4080: ayarlayabilirsiniz, lessböylece -Rvarsayılan olarak etkindir. Cevabımı gör.
Peter Cordes

@RyanTheLeach more ve less : aynı şey :)
chepner

11

manless(1)varsayılan olarak çağrı cihazı olarak kullanır . Bunun yerine kullanın cat. Ayrıca bkz. @ Vidarlo'nun yanıtı .

lessDaha da iyi hale getirmek için nasıl özelleştirilir :

Seviyorum alias m=less, bu yüzden sadece tek harfli bir komut, çünkü her zaman yazıyorum. Bir |mşeyin sonuna a koymak onu çağrı cihazına bağlar.

-iMRj5XTakma addaki gibi seçenekler koyabilirsiniz (örn. alias m='less -iMRX), Ancak bunu dosyamla yaparım ~/.lesskey. (Bkz. lesskey(1)).

  • -i: aramalar büyük / küçük harfe duyarlı değildir (büyük harf kullanmıyorsanız)
  • -M: satır numarasını ve dosya yüzdesini gösteren daha uzun durum satırı
  • -R: bazı kontrol kodlarına izin verin, böylece renklendirilmiş komutları daha az oluşturabilirsiniz.
  • -X: Terminal öykünücüsünün "alternatif" ekranına geçmeyin, bu yüzden baktığınız her şey qdışarı çıktığınızda hala orada olacaktır less. (istediğiniz seçeneği bulduktan ve yazarken bakmak istediğiniz sayfalar için harika.)
  • -j5: aramalar, hedef satırı ekranın üstü yerine 5. satıra yerleştirir. Böylece, arama sonucunuzun her iki tarafında bağlam görebilirsiniz. (Bazen bir arama sonucundan önce bağlamı görmek en yararlıysa, bunu yazarak -j40veya içine bir şey kullanarak etkileşimli olarak değiştiririm less).

Ben de bağlamak .için next-fileve ,karşı prev-filevarsayılan bağlamaları iki ayrı karakter olduğu için, çok yazmak için yavaş: :nve :p.


Bu benim .lesskey:

$ cat .lesskey
. next-file
, prev-file
#env
LESS = iMRj5X

lesskeyBir "içine" derlemek için çalıştırın ~/.less.

Bu muhtemelen 20 yıl önce önemliydi, ancak lessher başladığında bir metin yapılandırma dosyasını ayrıştırmak yerine bu ikili dosyayı okuyor.


@Dan: Bu cevabın soruya cevap olarak kendi başına durabilmesi için en üste bir satır eklendi. Bu cevabı örtük bırakmanın diğer cevap göz önüne alındığında yeterli olacağını düşündüm, ama eğer sizi rahatsız ediyorsa açık hale getirmeye itiraz etmiyorsam.
Peter Cordes
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.