पूंछ: एक पूरी फ़ाइल पढ़ना, और फिर निम्नलिखित


35

मैं एक tail -fप्रकार का व्यवहार करना चाहता हूं जो पूरी फ़ाइल को पढ़ता है और फिर इसे जारी रखना जारी रखता है जैसा कि इसे लिखा गया है।


समाधान

मेरे द्वारा स्वीकार किए गए उत्तर के आधार पर, यह काम करता है: tail -f -n +1 {filename}

यह क्यों काम करता है:-f विकल्प "अनुसरण करें" के लिए जारी है फ़ाइल और आउटपुट नई लाइनों के रूप में वे फाइल करने के लिए लिखा जाता है। -n +1निर्देश देता tailपहली पंक्ति से फ़ाइल पढ़ना शुरू करने के। का उपयोग करते -n -10हुए फ़ाइल के अंतिम दस लाइनों के साथ शुरू होगा।


2
यह एक टिप्पणी है एक सवाल नहीं है। और पूंछ पहले से ही ऐसा नहीं करती है: tail -f -n 10000000000000000000शायद सभी लाइनों को दिखाएगा कि यह नहीं होगा? (शायद 10000000000000000000 थोड़ा सा है: =))
Rinzwind

मुझे विश्वास है more fileNameकि बस ऐसा होगा
ryekayo

1
no..more अधिक फ़ाइल प्रारंभ करने के बाद फ़ाइल में जोड़ी गई अतिरिक्त पंक्तियों को नहीं जोड़ेगा।
रिनविंड

संभवतः tail -f -n 100...लाइनों की संख्या निर्धारित करने के लिए फ़ाइल को पूर्व-पढ़ना शामिल है, जब तक कि फ़ाइल आकार के आधार पर लाइन की गणना के लिए ऊपरी सीमा से बाहर काम करने के लिए पर्याप्त स्मार्ट न हो।
mwfearnley

जवाबों:


51

उपयोग

tail -f -n +1

उपयोग करने man tailसे आपको अधिक विवरण मिलेगा, प्रासंगिक अंश इस प्रकार है।

<snip>Numbers having a leading plus (`+') sign are relative to the
beginning of the input, for example, ``-n +2'' starts the display at the
second line of the input.</snip>

-f      The -f option causes tail to not stop when end of file is
        reached, but rather to wait for additional data to be appended to
        the input.  The -f option is ignored if the standard input is a
        pipe, but not if it is a FIFO.

-n number
        The location is number lines.

3
क्या आप कृपया अपने उत्तर में उन "अधिक विवरणों" को जोड़ सकते हैं? कृपया बताएं कि आपका समाधान क्यों और कैसे काम करता है। (कम गुणवत्ता वाले पदों की कतार में अपना उत्तर मिला।)
क्रैक्सर

1
@kraxor आप "अधिक विवरण" पा सकते हैं man tail(और इसे पढ़कर) जैसे उत्तर कहता है, या "टेल मैनपेज" के लिए ऑनलाइन खोज करें और उनमें से एक को पढ़ें। tailएक फ़ाइल में एक स्थिति में शुरू करके काम करता है, (और प्रदर्शित करता है) अंत तक, फिर फ़ाइल के आकार के लिए निगरानी बढ़ जाती है। जब फ़ाइल का आकार बढ़ता है, tailतो पूर्व ईओएफ स्थिति से फ़ाइल के नए सिरे तक रीड और डिस्प्ले होता है।
वॉल्टिनेटर

2
@waltinator मैं वास्तव में खुद के लिए नहीं पूछा था। मैंने उनसे अधिक विवरण जोड़ने के लिए कहा क्योंकि उनकी पोस्ट को निम्न गुणवत्ता का ध्वजांकित किया गया था लेकिन मैं हटाना नहीं चाहता था क्योंकि उन्होंने एक सही उत्तर दिया था।
kxxor

1
यही वह है जिसकी तलाश में मैं हूं। मैंने पहले का उपयोग किया है tail -50 {filename}, लेकिन दोनों के संयोजन में सफलता नहीं मिली।
सन्नी


3

इसे इस्तेमाल करे:

watch tail {filename}

{filename}वह फ़ाइल कहाँ है जिस पर आप नज़र रखना चाहते हैं। यह लगातार परिवर्तनों के लिए कमांड की निगरानी करेगा और स्टडआउट में परिवर्तन का उत्पादन करेगा। यह बहुत आसान है।


यह एक बहुत अच्छा उपकरण की तरह लग रहा है। हालांकि यह काफी परिणाम नहीं दे रहा था जो मैं देख रहा था, मैं निश्चित रूप से इसे ध्यान में रखूंगा। : यह स्वीकार किए जाते हैं जवाब के साथ संयोजन बहुत अच्छा हैwatch tail -n +1 {filename}
सन्नी

हाँ, ऐसा लगता है जैसे आपने इसे पूरा किया!
रिक चैथम

watchवास्तव में एक उपयोगी उपकरण है, लेकिन एक कमांड के बदलते आउटपुट को देखने के लिए, लेकिन एक फ़ाइल के अंत को देखने के लिए जोड़ा जा रहा है यह उपयोग करने के लिए बहुत बेहतर है tail -f। --- watch tail {filename}फिर से खोलना और हर दो सेकंड में फ़ाइल के अंत को फिर से पढ़ना होगा। दूसरी तरफ tail -fफ़ाइल के विकास के लिए देखता है और जब यह पता चलता है तो यह सिर्फ एपेंडेड भाग को पढ़ता है। tailf -fअधिक कुशल है और प्रतिक्रिया बहुत तेज है। इसके अलावा यह उस बिंदु से फ़ाइल सामग्री को लगातार दिखाएगा जहां आपने शुरू किया था। --- watchहर दो सेकंड में इसके आउटपुट को ओवरराइट करता है।
पाब्लॉक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.