/ usr / bin / ptx: Bir veya iki kullanım durumu sağlayabilir misiniz?


20

Ben coreutils dahil dosyalar listesi üzerinden gidiyordu ve ben şahsen ptx dışında sağlanan tüm komutları nasıl kullanabileceğinizi bir örnek ile başardı. Ptx kullanımına bir veya iki (veya üç) örnek verebilir misiniz? Kullanım durumu ne kadar çeşitli olursa o kadar iyidir.

$ apropos ptx
ptx(1)         - produce a permuted index of file contents

Yanıtlar:


10

Görünüşe göre, eski günlerde Unix Referans kılavuzunu dizine eklemek için kullanıldı.

Aşağıdaki Referanslarda Wikipedia makalesi, izin verilen bir dizinin ne olduğunu (KWIC veya "Bağlamda Anahtar Kelime" olarak da bilinir) açıklar ve şifreli ile biter:

Kendi açıklayıcı başlıkları olan birçok kısa bölümden oluşan kitaplar, en önemlisi manuel sayfa koleksiyonları, genellikle izin verilen bir dizin bölümü ile sona erdi ve okuyucunun başlığından herhangi bir kelime ile kolayca bir bölüm bulmasını sağladı. Bu uygulama artık yaygın değil.

Daha fazla arama, Unix man sayfalarının izin verilen bir dizini nasıl kullandığı hakkında daha fazla bilgi veren Referanslarda kalan makaleleri gösterir. Anlaşılan ana konu, man sayfalarının sürekli numaralandırılmamış olmasıdır.

Topladığımdan, izin verilen bir dizini kullanma pratiği artık gizemli ve eski.

Referanslar



5

@Joseph R.'nin tarihle kabul ettiği cevap iyidir, ama nasıl kullanılabileceğine bakalım.

ptxmetinden izin verilen bir terim dizini ("ptx") oluşturur. Anlaşılması en kolay örnek:

$ cat input
a
b
c

$ ptx -A -w 25 input
:1:            a b c
:2:        a   b c
:3:      a b   c

         ^^^^  ^ ^^^^-words to the input's right
         |     +-here is the actual input
         +-words to the input's left

Sağda girişten farklı sözcükler ve onları çevreleyen sol ve sağ sözcük bağlamı görülür. İlk kelime "a" dır. İlk satırda gerçekleşir ve bunu sağında "b" ve "c" takip eder. İkinci kelime, ikinci satırda solunda "a" ve sağında "c" bulunan "b" dir. Son olarak, "c" üçüncü satırda meydana gelir ve "a" ve "b" ile devam eder.

Bunu kullanarak, metindeki herhangi bir kelimenin satır numarasını ve çevresindeki kelimeleri bulabilirsiniz. Bu kulağa çok benziyor grepha? Fark, ptxmetnin yapısını, kelimelerin ve cümlelerin mantıksal birimlerinde anlamasıdır. Bu, ptxİngilizce metinle uğraşırken bağlamsal çıktıyı grep'ten daha alakalı hale getirir .

Karşılaştıralım ptxve grepJames Ellroy'un Amerikan Tabloid'in ilk paragrafını kullanarak :

$ cat text
America was never innocent. We popped our cherry on the boat over and looked back with no regrets. You can’t ascribe our fall from grace to any single event or set of circumstances. You can’t lose what you lacked at conception.

İşte grep(renk eşleşmeleri elle çevrili olacak şekilde değiştirilmiş olarak //):

$ grep -ni you text
1:America was never innocent. We popped our cherry on the boat over and looked back with no regrets. /You/ can’t ascribe our fall from grace to any single event or set of circumstances. /You/ can’t lose what /you/ lacked at conception.

İşte ptx:

$ ptx -Afo <(echo you) text
text:1:        /back with no regrets.   You can’t ascribe our fall/
text:1:     /or set of circumstances.   You can’t lose what you/
text:1:      /. You can’t lose what   you lacked at conception.

Çünkü grepçizgi odaklı olduğunu ve bu paragrafın tek bir çizgidir, grepçıkış, Özlü veya çıkış olarak yararlı olarak oldukça değildir ptx.


1
Açıkçası bu sorunun cevabı.
Bite Bytes

1

Çevrimiçi izin verilen bir dizinin (eski) bir örneğini burada görebilirsiniz (sol üst çerçevedeki İzin verilen dizin bağlantısını tıklayın).

Başka birinin de belirttiği gibi, bu arama motorları ve özel arama uygulamalarının yetenekleri nedeniyle artık yaygın değildir.


1

Bir uyum olarak da bilinir. Ve hala alakalı ve oldukça faydalılar. İyi bir örnek, sadece birkaç kelime bildiğinizde İncil ayetlerini hızlı bir şekilde tanımlamaktır. Başka bir örnek, anahtar kelimeye göre benzer hızlı aramayı sağlamak için tüm Shakespeare'in son ağlarını endekslemektir.

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.