ในขณะที่vim
ฉันสามารถเขียนช่วงของบรรทัดจากไฟล์ที่ฉันกำลังดูไปยังไฟล์อื่น ตัวอย่างเช่น,
:1,10 w outfile.txt
จะเขียนบรรทัดที่ 1 ถึง 10 ถึง outfile.txt
ฉันสามารถทำเช่นเดียวกันในขณะที่ฉันกำลังดูไฟล์โดยใช้less
หรือไม่?
ในขณะที่vim
ฉันสามารถเขียนช่วงของบรรทัดจากไฟล์ที่ฉันกำลังดูไปยังไฟล์อื่น ตัวอย่างเช่น,
:1,10 w outfile.txt
จะเขียนบรรทัดที่ 1 ถึง 10 ถึง outfile.txt
ฉันสามารถทำเช่นเดียวกันในขณะที่ฉันกำลังดูไฟล์โดยใช้less
หรือไม่?
คำตอบ:
10Gmm1G|mcat > outfile.txt
(พิมพ์ภายในless
) ดูเหมือนว่าจะทำงานได้ตราบใดที่อินพุตไม่พอดีในหนึ่งหน้าจอ (ซึ่งในกรณีนี้อินพุตทั้งหมดจะสิ้นสุดลงoutfile.txt
ด้วยเหตุผลบางประการ)
10G
นำคุณเข้าแถว 10
mm
ตั้งm
เครื่องหมายที่นั่น1G
(เช่นเดียวกับg
ในกรณีนี้) นำคุณสู่บรรทัดที่ 1|m
pipe จากบรรทัดปัจจุบันเพื่อทำเครื่องหมาย m
cat > outfile.txt
: ที่ถูกไพพ์ไปยังคำสั่งนั้นคุณสามารถใช้view
ซึ่งเหมือนกับvi -r
less
มันเป็นความเข้าใจของฉันที่vi
ทำให้ไฟล์ทั้งหมดโหลดในครั้งเดียว
10G
นำฉันมาที่บรรทัดที่ 10 ก่อนที่ฉันจะพิมพ์ส่วนที่เหลือได้ แต่มันก็ใช้ได้จริง