เขียนบรรทัดไปยังไฟล์จากน้อย


17

ในขณะที่vimฉันสามารถเขียนช่วงของบรรทัดจากไฟล์ที่ฉันกำลังดูไปยังไฟล์อื่น ตัวอย่างเช่น,

:1,10 w outfile.txt

จะเขียนบรรทัดที่ 1 ถึง 10 ถึง outfile.txt

ฉันสามารถทำเช่นเดียวกันในขณะที่ฉันกำลังดูไฟล์โดยใช้lessหรือไม่?

คำตอบ:


17
10Gmm1G|mcat > outfile.txt

(พิมพ์ภายในless) ดูเหมือนว่าจะทำงานได้ตราบใดที่อินพุตไม่พอดีในหนึ่งหน้าจอ (ซึ่งในกรณีนี้อินพุตทั้งหมดจะสิ้นสุดลงoutfile.txtด้วยเหตุผลบางประการ)

  • 10G นำคุณเข้าแถว 10
  • mmตั้งmเครื่องหมายที่นั่น
  • 1G(เช่นเดียวกับgในกรณีนี้) นำคุณสู่บรรทัดที่ 1
  • |m pipe จากบรรทัดปัจจุบันเพื่อทำเครื่องหมาย m
  • cat > outfile.txt: ที่ถูกไพพ์ไปยังคำสั่งนั้น

ฉันต้องวางคำสั่งที่พรอมต์เพราะการพิมพ์10Gนำฉันมาที่บรรทัดที่ 10 ก่อนที่ฉันจะพิมพ์ส่วนที่เหลือได้ แต่มันก็ใช้ได้จริง
eebbesen

2
@eebbesen ดีนั่นคือประเด็น ดูการแก้ไขของฉัน
Stéphane Chazelas

ขอบคุณสำหรับการชี้แจง @StephaneChazelas (รวมถึงคำตอบเบื้องต้นของคุณ) - ตอนนี้ชัดเจนแล้ว
eebbesen

1
อัจฉริยะเพื่อช่วยเหลืออีกครั้ง :)
Ramesh

4

คุณสามารถใช้viewซึ่งเหมือนกับvi -r


4
มันจะใช้งานได้ แต่สำหรับไฟล์ขนาดใหญ่ฉันชอบที่จะใช้lessมันเป็นความเข้าใจของฉันที่viทำให้ไฟล์ทั้งหมดโหลดในครั้งเดียว
eebbesen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.