หากฉันได้ไพพ์ผลลัพธ์ของคำสั่งless
แล้วตัดสินใจว่าฉันต้องการบันทึกเนื้อหาลงในไฟล์เป็นไปได้หรือไม่
ฉันได้ลองตั้งเครื่องหมายa
ที่ท้ายบัฟเฟอร์แล้วกลับไปที่ด้านบนและใช้|avi
เพื่อส่งเนื้อหาทั้งหมดไปvi
แต่ก็ไม่ได้ผล
หากฉันได้ไพพ์ผลลัพธ์ของคำสั่งless
แล้วตัดสินใจว่าฉันต้องการบันทึกเนื้อหาลงในไฟล์เป็นไปได้หรือไม่
ฉันได้ลองตั้งเครื่องหมายa
ที่ท้ายบัฟเฟอร์แล้วกลับไปที่ด้านบนและใช้|avi
เพื่อส่งเนื้อหาทั้งหมดไปvi
แต่ก็ไม่ได้ผล
คำตอบ:
ในระบบของฉันman less
พูดว่า
ชื่อไฟล์ บันทึกอินพุตเป็นไฟล์ มันจะทำงานได้ก็ต่อเมื่ออินพุตเป็น ไปป์ไม่ใช่ไฟล์ธรรมดา
ใช้งานได้สำหรับฉัน!
lesskey
ไฟล์ที่เปลี่ยนคำสั่งปกติ ดูman lesskey
s
ไม่ทำงานสำหรับฉันอย่างใดอย่างหนึ่ง แต่-o file
ไม่
man less
...
คำตอบที่ยอมรับไม่สามารถใช้งานได้บน 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
เนื้อหาของ buffer /tmp/foo.txt
ที่จะเขียนออกไป
เมื่อคุณless
เปิดคุณสามารถบันทึกผลลัพธ์ที่สมบูรณ์ไปยังไฟล์ ชอบvim
น้อยสนับสนุนคำสั่ง
เพียงแค่พิมพ์ที่สำคัญs
แล้วจะขอให้คุณชื่อของไฟล์ที่คุณต้องการบันทึกเนื้อหาเพียงแค่พิมพ์ชื่อไฟล์และจากนั้นพิมพ์less
Enter
ไชโย
ใช้>
โอเปอเรเตอร์ ตัวอย่างเช่นless foo.bar > output.txt
.
ไม่ถ้าคุณเริ่มต้นน้อยลง แต่ถ้าคุณรู้ก่อนที่ yu ต้องการส่งให้น้อยลงและไฟล์คุณสามารถใช้คำสั่ง tee ได้
command | tee out_file | less
คำตอบของฉันมาสายเกินไปที่จะเชื่อ แต่สำหรับการอ้างอิงในการตอบสนองต่อความกังวลของเบ็นร็อคข้างต้น: สำหรับผู้ใช้ OSX มีตัวเลือกในการดัมพ์เนื้อหาของเพจเจอร์ไปยังล็อกไฟล์โดยใช้ตัวเลือก "-l" (read DASH ELL ) ที่เครื่องหมายโคลอน
เพจเจอร์จะถามล็อกไฟล์ ใส่กุญแจแล้วกด [CR]
|avi -
โดยการทำ