2012-08-08 9 views
16

मैं अजीब के साथ एक फाइल संसाधित कर रहा हूं और कुछ लाइनों को छोड़ने की जरूरत है। इंटरनेट का कोई अच्छा जवाब नहीं है।आप अंतिम पंक्ति w/awk कैसे छोड़ते हैं?

awk 'NR < 1 { exit } { print}' db_berths.txt 
:

awk 'NR==6,NR==13 {print}' input.file 

या

awk 'NR <= 5 { next } NR > 13 {exit} { print}' input.file 

आप inputting द्वारा पहली पंक्ति को छोड़ सकते हैं:

अब तक केवल जानकारी मेरे पास है कि आप ऐसा करके एक सीमा को छोड़ सकते हैं है

आप अंतिम पंक्ति को कैसे छोड़ते हैं?

उत्तर

14

एक तरह से awk का उपयोग कर:

awk 'NR > 1 { print prev } { prev = $0 }' file.txt 

या sed के साथ बेहतर:

sed '$d' file.txt 
+8

या 'सिर -n -1 file.txt' – rwos

+2

@jwos ने आपके सुझाव w/head की कोशिश की लेकिन मुझे एक अवैध लाइन गिनती मिली ... – ovatsug25

+3

सटीक रूप 'हेड' के विकल्प पर आपके ऑपरेटिंग सिस्टम पर निर्भर करता है। आरडब्ल्यूओएस सुझाव लिनक्स में काम करता है, लेकिन फ्रीबीएसडी, ओपनबीएसडी, ओएस/एक्स में नहीं। शायद सोलारिस, एचपी/यूएक्स, आदि में भी काम नहीं करता है – ghoti

-3

आप कोशिश कर सकते हैं:

awk 'END{print NR}' file 
+1

-1 यह प्रिंट करेगा इनपुट फ़ाइल में कई लाइनें। ओपी की आवश्यकता से पूरी तरह से अलग है – Kent

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^