เป็นวิธีที่ดีที่สุดในการส่งออกจากไฟล์เริ่มต้นจากบรรทัดที่ระบุคืออะไร (ขนาดใหญ่เช่น 70000) สิ่งที่ต้องการ:
cat --line=70000 <file>
เป็นวิธีที่ดีที่สุดในการส่งออกจากไฟล์เริ่มต้นจากบรรทัดที่ระบุคืออะไร (ขนาดใหญ่เช่น 70000) สิ่งที่ต้องการ:
cat --line=70000 <file>
คำตอบ:
ลองดูหางอย่างแม่นยำยิ่งขึ้นนั่นคือ --lines = + N switch:
tail --lines=+100 <file>
tail -n
tail
วิธีที่ชัดเจนที่สุดคือ ไวยากรณ์อาจแตกต่างกันเล็กน้อยขึ้นอยู่กับระบบปฏิบัติการที่คุณใช้:
tail -n +70000
หากคุณไม่สามารถtail
ทำงานได้คุณสามารถใช้งานsed
ได้ แต่อาจช้าลง:
sed -pe '1,69999d'
tail
ทำงานได้ดีในMinGW (ในไฟล์ข้อความ 600 MB) รันไทม์เพียงไม่กี่วินาที (แต่ไฟล์อินพุตอาจมีอยู่ในแคชไฟล์แล้ว)
หากแทนที่จะเป็นหมายเลขบรรทัดคุณต้องเริ่มรายการที่บรรทัดที่มีการระบุ$phrase
ลองต่อไปนี้
more -1000 +/"$phrase" yourfilename | sed '1,4d'
-1000 จะแสดงข้อความอย่างต่อเนื่องสูงสุดถึง 1,000 บรรทัด; คุณสามารถเปลี่ยนแปลงได้ตามต้องการ sed
คำสั่งจะตัดครั้งแรก 4 สายของการส่งออกซึ่งถูกแทรกโดยอัตโนมัติโดยmore
มีบรรทัดว่างข้อความ "... ข้าม" และทั้งสองเส้นบรรทัดก่อนเริ่มต้นของคุณตั้งใจ ฉันเดาว่าสิ่งนี้อาจแตกต่างกันไปขึ้นอยู่กับระบบของคุณ
คุณสามารถใช้พารามิเตอร์NRด้วยคำสั่งawk :
cat <file> | awk '{if (NR>=7000) print}'
cat messages | awk '{if (NR>=7000 && NR <7003) print}'
แสดงแถวที่ 7000, 7001 และ 7002 เท่านั้น
หาง +250
tail
คำแนะนำของคุณเหมือนกับคำตอบที่ได้รับการยอมรับและคำตอบอื่น ๆ เมื่อหลายสัปดาห์ก่อน ทำไมต้องโพสต์
...can't find the server at www.scripterworld.com.
wc -l $1 | awk '{print $1}'
; lineno =expr $lineno - $2
; หาง -n $ lineno $ 1; }