पूंछ / सिर एक्स अंतिम / पहली लाइनों को छोड़कर सभी लाइन


2

उदाहरण के लिए मेरे पास यह फ़ाइल है:

cat myfile
1
2
3
4
5

मैं पहले 2 लाइन को छोड़कर सभी लाइनों को प्रिंट करना चाहता हूं। आउटपुट इस तरह होना चाहिए:

tail -n $(( $(wc -l myfile | awk '{print $1}') - 2 )) myfile
3
4
5

हां, आउट पुट सही है। लेकिन वहाँ एक समस्या है, हम इस नमूना फ़ाइल में 5 लाइन सही है? अगर मैं अधिक उपयोग करता हूं कि इस कमांड आउटपुट में 5 खाली होना चाहिए, लेकिन यह नहीं है !!!

पूंछ -n $ (($ (wc -l myfile | awk '{प्रिंट $ 1}') - NUMBER ) "myileile"

यह आउटआउट खाली होना चाहिए लेकिन ऐसा नहीं है

tail -n $(( $(wc -l myfile | awk '{print $1}') - 8 )) myfile

1
2
3
4
5

myfile में X लाइनें हो सकती हैं ... मदद के लिए धन्यवाद

जवाबों:


8

tail -n+3 तीसरे से शुरू होने वाली अंतिम लाइनों को आउटपुट करता है।


लाइन नंबर चर रहे हैं और मैं नहीं जानता कि कितने लाइन हैं। अंतिम 3 लाइनों को छोड़कर सभी रखना चाहते हैं
नेटवर्क

यह वह नहीं है जो आपने प्रश्न में वर्णित किया है, बल्कि head -n-3आपको वह देना चाहिए जिसकी आपको आवश्यकता है।
कोरोबा

मेरे पास सवाल है। लेकिन यह फ़ाइल एक स्क्रिप्ट का आउटपुट है और हमें नहीं पता कि कितनी लाइन है ...
नेटवर्क

आपको लाइनों की संख्या जानने की आवश्यकता नहीं है।
कोरोबा

1
कोशिश की है कि यह क्या मैं उदाहरण के लिए की जरूरत नहीं है अगर मैं 8 लाइनों को छोड़कर सभी लाइन है, लेकिन मैं केवल 5 लाइन है। तो उत्पादन खाली होना चाहिए: पूंछ -n-8 myfile 1 2 3 4 5
नेटवर्क
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.