سؤال كيف يمكنني حفظ المحتويات الحالية أقل إلى ملف؟


إذا كنت قد تم توجيه نتائج الأمر إلى less ثم قررت أنني أريد حفظ المحتويات إلى ملف ، هل هذا ممكن؟

لقد حاولت وضع علامة a في نهاية المخزن المؤقت ، ومن ثم العودة إلى الأعلى واستخدام |avi لإرسال المحتويات بأكملها إلى viلكن هذا لا يعمل.


82
2018-05-31 09:46


الأصل


سوف تعمل التقنية الأصلية الخاصة بك إذا وجهت تعليمات vi للتحميل من stdin ، من خلال العمل |avi -. - Joe Shaw


الأجوبة:


على نظامي ، man less يقول

       اسم الملف
              حفظ المدخلات إلى ملف. هذا يعمل فقط إذا كان الإدخال هو
              أنبوب ، وليس ملف عادي.

يعمل لدي!


97
2018-05-31 10:09



جميل شكرا! يعمل علاج. - Jonathan Day
بطريقة ما ، هذا لا يعمل بالنسبة لي - كتابة 's' تحريك النافذة بخط واحد. أنا على ماك. - benroth
benroth: ربما لديك lesskey الملف الذي يغير الأوامر العادية. نرى man lesskey - RedGrittyBrick
s لا يعمل بالنسبة لي سواء ، ولكن -o file هل. - user1338062
ولماذا لم يتم ذكر هذا على الأرض عندما اكتب "h" للحصول على مساعدة تفاعلية؟ يمكنك إجراء 1+ إذا كنت قد قرأت المساعدة التفاعلية ولم تفكر في استشارتها man less... - Peter V. Mørch


لا تعمل الإجابة المقبولة على نظام التشغيل Mac - كما يقول benroth ، بالضغط 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



شكرًاDror ، لكنني بالفعل في التطبيق الأقل ، وليس في bash موجه أكثر - Jonathan Day
مساهمة قيمة في Q / A. بدلا من بدء سؤال منفصل تماما ، والناس بحاجة إلى طريقة لنسخ ملفات متعددة من خلال أقل المشاهد يمكن أن تستفيد كثيرا. أنقذني ساعات العمل (بعد الكثير من البحث). شكر! - L. D. James


جوابي يأتي صبي في وقت متأخر جدا على ما أعتقد. لكن كمرجع فقط ، ردا على قلق بنروث أعلاه: بالنسبة لمستخدمي OSX ، هناك دائمًا خيار تفريغ محتويات جهاز النداء إلى ملف سجل باستخدام الخيار "-l" (قراءة داش ELL) في القولون الفوري.

سيطلب منك جهاز الاستدعاء إدخال ملف سجل. اضغط عليه واضغط على [CR]


0
2017-12-27 23:27





لا إذا كنت قد بدأت أقل ، ولكن إذا كنت تعرف قبل أن تريد إرسالها إلى أقل وملف ، فيمكنك استخدام الأمر tee

command | tee out_file | less

-1
2018-05-31 09:51



شكرا مارك ، ولكن أنا أبحث على وجه التحديد كيف نفعل ذلك إذا أنا بالفعل في أقل من ذلك - Jonathan Day