पूंछ का उपयोग करते समय नए वर्णों के रूप में \ n वर्ण प्रदर्शित करें?


17

मेरे पास एक फाइल है जिसे मैं टेल -f का उपयोग करके पढ़ने की कोशिश कर रहा हूं। मुझे आश्चर्य हो रहा था कि टर्मिनल आउटपुट के लिए \ n वर्ण के बजाय वास्तविक लाइन ब्रेक का कोई तरीका था।


1
एक नियम के रूप में, टेल-ऑफ लाइन ब्रेक को लाइन ब्रेक के रूप में प्रदर्शित करेगा। आपके पास अपनी कंसोल सेटिंग्स के साथ कोई समस्या हो सकती है, यदि आप वही देख रहे हैं।
जॉन लैसर

1
या वह एक फाइल पूंछ रहा है, जिसमें वास्तव में एक शाब्दिक \ n है। शायद लाइन ब्रेक को फ़ाइल में लिखे जाने से पहले शाब्दिक "\ n" में बदल दिया गया था।
जोश

जवाबों:


25
tail -f file | sed 's/\\n/\n/g'

2
मैं जोड़ना चाहूंगा कि मुझे लगा कि वास्तव में शारीरिक रूप से इस काम को करने के लिए बैक-स्लेश के बाद मेरी सीड कमांड में एक लाइन ब्रेक दर्ज करने की आवश्यकता है, जैसे:~$ tail -f /var/log/apache2/error_log | sed 's/\\n/\ > /g'
जॉन z

क्या किसी को मल्टीटैल के लिए एक ही चीज हासिल करने का तरीका पता है? यहाँ एक सवाल है: unix.stackexchange.com/questions/239774/…
धोखाधड़ी

मैं अपने .bashrc
Kdansky

1
@Kdansky: आपने यह नहीं दिखाया कि आपने किस प्रकार अन्य लोगों को परिभाषित किया है या आपको किस प्रकार की समस्या है, इसलिए मैं केवल अनुमान लगा सकता हूं। एक समस्या जो आपको हो सकती है वह है उद्धृत करना। एक अतिरिक्त बैकलैश मदद कर सकता है alias forward="tail -f file | sed 's/\\\n/\n/g'":। यदि आप एक तर्क के रूप में फ़ाइल नाम निर्दिष्ट करने में सक्षम होना चाहते हैं, तो आपको एक उपनाम के बजाय एक फ़ंक्शन का उपयोग करना चाहिए:forward () { tail -f "$@" | sed 's/\\n/\n/g'; }
आगे की सूचना तक रोक दिया गया।

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