केवल लिस्टिंग की अंतिम पंक्ति कैसे प्रदर्शित करें?


12

माना कि मैं एक सूची बनाता हूं और इसकी अस्थायी विशेषता द्वारा फाइलों को क्रमबद्ध करता हूं:

ls -ltr

-rwxrwxrwx 1 bla bla 4096 Feb 01 20:10 foo1
-rwxrwxrwx 1 bla bla 4096 Feb 01 20:12 foo2
.
.
.
-rwxrwxrwx 1 bla bla 4096 Mar 05 13:25 foo1000

लिस्टिंग की केवल अंतिम पंक्ति को प्राप्त करने के लिए मुझे पाइप श्रृंखला में ls के पीछे क्या जोड़ना चाहिए? मुझे पता है कि सीड और ऑक हैं, लेकिन मुझे नहीं पता कि उनका उपयोग कैसे करना है, मुझे केवल यह पता है कि वे क्या कर सकते हैं।

जवाबों:


25

चूंकि आपने विशेष रूप से सेड के बारे में पूछा था,

ls -ltr | sed '$!d'

धन्यवाद, मुझे अब थोड़ा गर्व हो रहा है कि कुछ ठोस सेड सीखे।
अब्दुल अल हज़्रेड

3
इसके अलावा, sed -n '$p'एक ही बात करता है, लेकिन वास्तव tail -1में काम के लिए सही उपकरण है।
imiric

धन्यवाद! मैं आखिरी पंक्ति को / proc / cpuinfo में निकालने में कामयाब रहा और प्रमुख शून्य को आसानी से ट्रिम कर दिया (आसानी से RPi3 सीरियल नंबर निकालने के लिए इस्तेमाल किया गया):sed '$!d s/.*: 0\+//' /proc/cpuinfo
यारो

11

आप देख रहे हैं tail:

ls -ltr | tail -n 1

यह केवल अंतिम पंक्ति का ls -ltrआउटपुट प्रदर्शित करेगा । आप बाद में मान बदलकर लाइनों की संख्या को नियंत्रित कर सकते हैं -n; यदि आप -n 1पूरी तरह से चूक जाते हैं तो आपको दस लाइनें मिलेंगी।


एकदम सही, बहुत जल्दी और उपयोगी जवाब
अब्दुल अल हज़्र

tail -1... -nबेमानी है।
dhchdhd

@Barry tail -1अब मान्य नहीं है (के "औचित्य" खंड देखें के लिए POSIX विनिर्देशनtail , या के अंतिम भाग जीएनयू tailsमैनुअल ); यह अभी भी इस मामले में काम करता है, अभी के लिए, लेकिन उदाहरणों में इसका उपयोग करने से बचना सबसे अच्छा है।
स्टीफन किट

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.