सवाल मैं फ़ाइल की कम सामग्री को कैसे सहेज सकता हूं?


अगर मैंने कमांड के परिणामों को पाइप किया है less और फिर फैसला किया कि मैं सामग्री को एक फ़ाइल में सहेजना चाहता हूं, क्या यह संभव है?

मैंने एक निशान स्थापित करने की कोशिश की है a बफर के अंत में, और फिर शीर्ष पर लौटने और उपयोग करने के लिए |avi पूरी सामग्री को भेजने के लिए vi, लेकिन यह काम नहीं करता है।


82
2018-05-31 09:46


मूल


आपकी मूल तकनीक काम करेगी यदि आपने vd को stdin से लोड करने का निर्देश दिया है |avi -। - Joe Shaw


जवाब:


मेरे सिस्टम पर, man less कहते हैं

       एस फाइलनाम
              इनपुट को एक फ़ाइल में सहेजें। यह केवल तभी काम करता है जब इनपुट एक है
              पाइप, एक साधारण फाइल नहीं।

मेरे लिये कार्य करता है!


97
2018-05-31 10:09



अच्छा धन्यवाद! एक इलाज करता है। - Jonathan Day
किसी भी तरह, यह मेरे लिए काम नहीं करता है - टाइपिंग 'विंडो को एक पंक्ति से ले जाती है। मैं मैक पर हूँ - benroth
@ बेनरोथ: आपके पास शायद एक है lesskey फ़ाइल जो सामान्य आदेशों को बदलती है। देख man lesskey - RedGrittyBrick
s मेरे लिए भी काम नहीं करता है, लेकिन -o file कर देता है। - user1338062
और जब मैं इंटरेक्टिव सहायता प्राप्त करने के लिए 'एच' टाइप करता हूं तो पृथ्वी पर क्यों इसका उल्लेख नहीं किया जाता है? +1 अगर आपने इंटरैक्टिव सहायता पढ़ ली है और इसलिए परामर्श करने के लिए सोचा नहीं था man less... - Peter V. Mørch


स्वीकार्य उत्तर मैक पर काम नहीं करता है - जैसा कि @ बेनोथ कहते हैं, दबाकर s बस एक रेखा नीचे चला जाता है - लेकिन आप एक अलग विधि का उपयोग कर सकते हैं।

में less --help:

|Xcommand            Pipe file between current pos & mark X to shell command.

तथा

A mark is any upper-case or lower-case letter.
Certain marks are predefined:
     ^  means  beginning of the file
     $  means  end of the file

तो यदि आप बफर के शीर्ष पर जाते हैं (<) और फिर:

|$cat > /tmp/foo.txt

बफर की सामग्री को लिखा जाएगा /tmp/foo.txt


21
2018-04-18 17:05



यह विधि विशेष रूप से उपयोगी हो सकती है जब आप किसी अन्य कमांड के माध्यम से वर्तमान बफर को पाइप करना चाहते हैं। - Doron Behar


आपका कब less खोला गया है, आप एक पूर्ण फ़ाइल को एक फ़ाइल में सहेज सकते हैं। पसंद vimकम आदेशों का समर्थन करता है।

बस कुंजी टाइप करें s, फिर less आपको उस फ़ाइल का नाम पूछेगा जहां आप सामग्री को सहेजना चाहते हैं, बस फ़ाइल का नाम टाइप करें और फिर टाइप करें Enter

चियर्स


3
2017-11-12 19:25





उपयोग > ऑपरेटर। उदाहरण के लिए: less foo.bar > output.txt


0
2018-05-31 09:49



धन्यवाद @ डोर, लेकिन मैं पहले से ही कम एप्लिकेशन में हूं, बैश प्रॉम्प्ट पर नहीं - Jonathan Day
क्यू / ए में एक महत्वपूर्ण योगदान। एक पूरी तरह से अलग सवाल शुरू करने के बजाय, लोगों को कई फाइलों को स्क्रिप्ट करने के लिए एक विधि की आवश्यकता है कम दर्शक बहुत फायदा हो सकता है। मुझे काम के घंटे बचाया (बहुत सारी खोज के बाद)। धन्यवाद! - L. D. James


मेरा जवाब बहुत देर हो गया है मेरा मानना ​​है। लेकिन सिर्फ संदर्भ के लिए, बैनरोथ की चिंता के जवाब में: ओएसएक्स उपयोगकर्ताओं के लिए हमेशा "-l" विकल्प का उपयोग करके पेजर की सामग्री को लॉग फ़ाइल में डंप करने का विकल्प होता है (पढ़ना डेश ईएलएल) कोलन प्रॉम्प्ट पर।

पेजर लॉग फ़ाइल के लिए पूछेगा। इसे कुंजी और दबाएं [सीआर]


0
2017-12-27 23:27





नहीं, यदि आपने कम शुरू किया है, लेकिन यदि आप जानते हैं कि आप इसे कम और फ़ाइल में भेजना चाहते हैं तो आप टीई कमांड का उपयोग कर सकते हैं

command | tee out_file | less

-1
2018-05-31 09:51



धन्यवाद मार्क, लेकिन मैं विशेष रूप से देख रहा हूं कि अगर मैं पहले से कम हूं तो इसे कैसे करें - Jonathan Day