/ usr / bin / ptx: क्या आप एक उपयोग मामला या दो प्रदान कर सकते हैं?


20

मैं कोरुटिल्स में शामिल फाइलों की सूची के माध्यम से जा रहा था और मैं उदाहरण के साथ आने में सक्षम था कि मैं ptx को छोड़कर व्यक्तिगत रूप से प्रदान की गई सभी कमांड का उपयोग कैसे कर सकता हूं। क्या आप ptx के उपयोग के एक या दो (या तीन) उदाहरण दे सकते हैं? अधिक विविध उपयोग मामला बेहतर है।

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

जवाबों:


10

जाहिर है, यह पुराने दिनों में यूनिक्स संदर्भ मैनुअल को इंडेक्स करने के लिए उपयोग किया गया था।

नीचे दिए गए सन्दर्भों में, विकिपीडिया लेख बताता है कि एक अनुमित सूचकांक क्या है (जिसे KWIC भी कहा जाता है, या "संदर्भ में कीवर्ड") और अंत में गूढ़ के साथ होता है:

अपनी स्वयं की वर्णनात्मक शीर्षकों के साथ कई छोटे वर्गों से बनी किताबें, मैनुअल पृष्ठों के सबसे विशेष रूप से संग्रह, अक्सर एक अनुक्रमणित सूचकांक अनुभाग के साथ समाप्त हो जाती हैं, जिससे पाठक आसानी से किसी भी शब्द को अपनी हेडिंग से एक खंड पा सकते हैं। यह प्रथा अब आम नहीं है।

अधिक खोज से संदर्भों में शेष लेखों का पता चलता है, जो इस बारे में अधिक बताते हैं कि यूनिक्स मैन पेजों ने एक अनुक्रमणित सूचकांक का उपयोग कैसे किया। ऐसा लगता है कि वे जिस मुख्य मुद्दे से निपट रहे थे, वह यह है कि मैन पेजों की निरंतर संख्या नहीं थी।

मैं जो इकट्ठा करता हूं, उससे एक अनुक्रमणित सूचकांक का उपयोग करने का अभ्यास अब रहस्यमय और अप्रचलित है।

संदर्भ



5

@ जोसेफ आर। का इतिहास के साथ स्वीकृत उत्तर अच्छा है, लेकिन आइए देखें कि इसका उपयोग कैसे किया जा सकता है।

ptxपाठ से एक अनुमत अवधि सूचकांक ("ptx") उत्पन्न करता है। एक उदाहरण समझना आसान है:

$ 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

दाएं से नीचे आपको इनपुट से अलग-अलग शब्द और उनके आसपास बाएं और दाएं शब्द का संदर्भ दिखाई देता है। पहला शब्द "ए" है। यह लाइन एक पर होता है और इसके बाद "बी" और "सी" इसके दाईं ओर होता है। दूसरा शब्द "बी" है, जो लाइन टू पर "ए" से उसके बाएं और "सी" के साथ होता है। अंत में, "सी" लाइन तीन पर होता है और "ए" और "बी" द्वारा आगे बढ़ाया जाता है।

इसका उपयोग करके, आप किसी पाठ में किसी शब्द के लिए लाइन नंबर और आसपास के शब्द पा सकते हैं। यह बहुत लगता है grep, एह? अंतर यह है कि ptxशब्दों और वाक्यों की तार्किक इकाइयों में पाठ की संरचना को समझता है। यह ptxgrep की तुलना में अंग्रेजी पाठ के साथ काम करते समय प्रासंगिक प्रासंगिक बनाता है ।

आइए जेम्स एलरॉय के अमेरिकन टैबलॉयड के पहले पैराग्राफ का उपयोग करें ptxऔर तुलना करें :grep

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

यहाँ grep(रंग मिलान के साथ मैन्युअल रूप से बदला जा सकता है //):

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

यहाँ है 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लाइन-ओरिएंटेड है, और यह पैराग्राफ सभी एक लाइन है, grepआउटपुट आउटपुट के रूप में संक्षिप्त या सहायक नहीं है ptx


1
यह स्पष्ट रूप से सवाल का जवाब है।
बाइट बाइट्स

1

आप यहां एक ऑनलाइन अनुमति प्राप्त सूचकांक का एक (पुराना) उदाहरण देख सकते हैं ( शीर्ष-बाएं फ्रेम में अनुमत सूचकांक लिंक पर क्लिक करें)।

जैसा कि किसी और ने उल्लेख किया है, यह खोज इंजन और कस्टम खोज ऐप की क्षमताओं के कारण अब आम नहीं है।


1

जिसे एक सहमति के रूप में भी जाना जाता है। और वे अभी भी प्रासंगिक और काफी उपयोगी हैं। एक अच्छा उदाहरण जल्दी से बाइबल के छंदों की पहचान करना है जब आप केवल कुछ शब्दों को जानते हैं। एक और उदाहरण शेक्सपियर के सभी सॉनेट्स को कीवर्ड द्वारा समान त्वरित लुकअप को सक्षम करने के लिए अनुक्रमित करना होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.