/ usr / bin / ptx: Bạn có thể cung cấp một hoặc hai trường hợp sử dụng không?


20

Tôi đã xem qua danh sách các tập tin có trong coreutils và tôi đã có thể đưa ra một ví dụ về cách cá nhân tôi có thể sử dụng tất cả các lệnh được cung cấp ngoại trừ ptx. Bạn có thể đưa ra một hoặc hai (hoặc ba) ví dụ về việc sử dụng ptx không? Trường hợp sử dụng càng đa dạng càng tốt.

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

Câu trả lời:


10

Rõ ràng, nó được sử dụng để lập chỉ mục cho tài liệu tham khảo Unix trong thời xa xưa.

Trong phần Tài liệu tham khảo bên dưới, bài viết Wikipedia giải thích chỉ số được thấm là gì (còn được gọi là KWIC hoặc "Từ khóa trong ngữ cảnh") và kết thúc bằng mật mã:

Sách bao gồm nhiều phần ngắn với tiêu đề mô tả của riêng họ, đáng chú ý nhất là các bộ sưu tập các trang thủ công, thường kết thúc bằng phần chỉ mục được cho phép, cho phép người đọc dễ dàng tìm thấy một phần bằng bất kỳ từ nào từ tiêu đề của nó. Thực hành này không còn phổ biến.

Tìm kiếm nhiều hơn cho thấy các bài viết còn lại trong Tài liệu tham khảo, giải thích thêm về cách các trang người Unix sử dụng một chỉ mục được hoán vị. Có vẻ như vấn đề chính mà họ đang giải quyết là các trang nam không có đánh số liên tục.

Từ những gì tôi thu thập được, việc sử dụng một chỉ số được thẩm thấu giờ trở nên phức tạp và lỗi thời.

Tài liệu tham khảo



5

Câu trả lời được chấp nhận của @Joseph R. với lịch sử là tốt, nhưng hãy xem cách nó có thể được sử dụng.

ptxtạo ra một chỉ mục thuật ngữ hoán vị ("ptx") từ văn bản. Một ví dụ dễ hiểu nhất:

$ 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

Ở bên phải bạn nhìn thấy các từ khác nhau từ đầu vào và bối cảnh từ trái và phải xung quanh chúng. Từ đầu tiên là "a". Nó xuất hiện trên dòng một và được theo sau bởi "b" và "c" ở bên phải của nó. Từ thứ hai là "b", xuất hiện trên dòng hai với "a" ở bên trái và "c" ở bên phải. Cuối cùng, "c" xảy ra trên dòng ba và được tiến hành bởi "a" và "b".

Sử dụng điều này, bạn có thể tìm thấy số dòng và các từ xung quanh cho bất kỳ từ nào trong văn bản. Điều này nghe rất giống grep, nhỉ? Sự khác biệt là ptxhiểu cấu trúc của văn bản, theo đơn vị logic của từ và câu. Điều này làm cho đầu ra theo ngữ cảnh ptxphù hợp hơn khi xử lý văn bản tiếng Anh hơn grep.

Hãy so sánh ptxgrepsử dụng đoạn đầu tiên của Tabloid American của 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.

Đây grep(với các kết hợp màu được thay đổi thủ công để được bao quanh bởi //):

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

Đây là 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.

grepđược định hướng theo dòng và đoạn này là tất cả một dòng, grepđầu ra không hoàn toàn ngắn gọn hoặc hữu ích như đầu ra từ ptx.


1
Đây rõ ràng là câu trả lời cho câu hỏi.
Bite Byte

1

Bạn có thể xem ví dụ (cũ) về chỉ mục được cho phép trực tuyến tại đây (Nhấp vào liên kết Chỉ mục được phép ở khung trên cùng bên trái).

Như một người khác đã đề cập, điều này không còn phổ biến nữa vì khả năng của các công cụ tìm kiếm và ứng dụng tìm kiếm tùy chỉnh.


1

Còn được gọi là một sự phù hợp. Và chúng vẫn có liên quan và khá hữu ích. Một ví dụ điển hình là nhanh chóng xác định những câu kinh thánh khi bạn chỉ biết một vài từ. Một ví dụ khác là lập chỉ mục tất cả các sonnet của Shakespeare để cho phép tra cứu nhanh tương tự theo từ khóa.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.