/ usr / bin / ptx: Bisakah Anda memberikan satu atau dua use case?


20

Saya akan melihat daftar file yang termasuk dalam coreutils dan saya dapat menemukan contoh bagaimana saya secara pribadi dapat menggunakan semua perintah yang disediakan kecuali untuk ptx. Bisakah Anda memberikan satu atau dua (atau tiga) contoh penggunaan ptx? Semakin bervariasi use case semakin baik.

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

Jawaban:


10

Rupanya, itu digunakan untuk mengindeks manual Referensi Unix di masa lalu.

Dalam Referensi di bawah ini, artikel Wikipedia menjelaskan apa itu indeks permutasi (juga disebut KWIC, atau "Kata kunci dalam konteks") dan diakhiri dengan cryptic:

Buku-buku yang terdiri dari banyak bagian pendek dengan judul deskriptifnya sendiri, terutama koleksi halaman buku panduan, sering kali diakhiri dengan bagian indeks yang diijinkan, memungkinkan pembaca untuk dengan mudah menemukan bagian dengan kata apa pun dari judulnya. Praktek ini sudah tidak umum lagi.

Pencarian lebih lanjut mengungkapkan artikel yang tersisa di Referensi, yang menjelaskan lebih lanjut tentang bagaimana halaman manual Unix menggunakan indeks yang diijinkan. Tampaknya masalah utama yang mereka hadapi adalah bahwa halaman manual tidak memiliki penomoran berkelanjutan.

Dari apa yang saya kumpulkan, praktik menggunakan indeks permutasi sekarang misterius dan usang.

Referensi



5

@Joseph R. jawaban yang diterima dengan sejarah itu baik, tapi mari kita lihat bagaimana itu bisa digunakan.

ptxmenghasilkan indeks istilah yang diizinkan ("ptx") dari teks. Contoh paling mudah dipahami:

$ 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

Di sebelah kanan Anda melihat kata-kata yang berbeda dari input dan konteks kata kiri dan kanan di sekitarnya. Kata pertama adalah "a". Ini terjadi pada baris satu dan diikuti oleh "b" dan "c" di sebelah kanannya. Kata kedua adalah "b", yang muncul pada baris dua dengan "a" di sebelah kiri dan "c" di sebelah kanan. Akhirnya, "c" muncul pada baris ketiga dan diproses oleh "a" dan "b".

Dengan menggunakan ini, Anda dapat menemukan nomor baris dan kata-kata di sekitarnya untuk kata apa pun dalam teks. Ini kedengarannya seperti grep, eh? Perbedaannya adalah yang ptxmemahami struktur teks, dalam satuan kata dan kalimat yang logis. Ini membuat output kontekstual ptxlebih relevan ketika berhadapan dengan teks bahasa Inggris daripada grep.

Mari kita bandingkan ptxdan grep, gunakan paragraf pertama Tabloid Amerika James Ellroy :

$ 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.

Ini grep(dengan pencocokan warna diubah secara manual untuk dikelilingi oleh //):

$ 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.

Inilah 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.

Karena grepberorientasi pada garis, dan paragraf ini semuanya satu baris, grepoutputnya tidak begitu ringkas atau membantu seperti output dari ptx.


1
Ini jelas jawaban untuk pertanyaan itu.
Bite Bytes

1

Anda dapat melihat contoh (lama) dari indeks permutasi online di sini (Klik pada tautan indeks Permutasi di bingkai kiri atas).

Seperti yang telah disebutkan orang lain, ini sudah tidak umum lagi karena kemampuan mesin pencari dan aplikasi pencarian kustom.


1

Juga dikenal sebagai konkordansi. Dan mereka masih relevan dan cukup bermanfaat. Contoh yang baik adalah dengan cepat mengidentifikasi ayat-ayat Alkitab ketika Anda hanya tahu beberapa kata. Contoh lain adalah mengindeks semua soneta Shakespeare untuk mengaktifkan pencarian cepat serupa dengan kata kunci.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.