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


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.