मैं कमांड लाइन पर एक पाठ फ़ाइल की सामग्री प्रदर्शित करना चाहूंगा। फ़ाइल में केवल 5-6 अक्षर हैं। क्या इसे करने का कोई आसान तरीका है?
मैं कमांड लाइन पर एक पाठ फ़ाइल की सामग्री प्रदर्शित करना चाहूंगा। फ़ाइल में केवल 5-6 अक्षर हैं। क्या इसे करने का कोई आसान तरीका है?
जवाबों:
catचूंकि आपकी फ़ाइल कम है, आप उपयोग कर सकते हैं
cat।
cat filename
lessयदि आपको लंबी फ़ाइल की सामग्री देखनी है, तो आप पेजर का उपयोग कर सकते हैं
less।
less filename
जब आप छोटी फ़ाइलों पर आह्वान करते हैं और सामान्य रूप से व्यवहार lessकरते हैं, catतो इसे -Fऔर -Xझंडे को पास करके आप ऐसा व्यवहार कर सकते हैं ।
less -FX filename
मेरे पास एक उपनाम है less -FX। आप अपने आप को ऐसा बना सकते हैं:
alias aliasname='less -FX'
यदि आप अपने शेल कॉन्फ़िगरेशन में उपनाम जोड़ते हैं , तो आप इसे हमेशा के लिए उपयोग कर सकते हैं।
odयदि आपकी फ़ाइल में अजीब या अनपेक्षित वर्ण हैं, तो आप odवर्णों की जांच करने के लिए उपयोग कर सकते हैं
। उदाहरण के लिए,
$ cat file
(ÐZ4 ?o=÷jï
$ od -c test
0000000 202 233 ( 320 K j 357 024 J 017 h Z 4 240 ? o
0000020 = 367 \n
0000023
lessअन्य पेजर कार्यक्रमों की तरह इसका कोई स्पष्ट लाभ है pg, या क्या यह सिर्फ व्यक्तिगत प्राथमिकता के लिए उबाल है?
lessकी तुलना में अधिक सुविधाएँ हैं pg। less(1)और pg(1)manpages पर एक नज़र रखना । साथ ही अन्य पेजर भी हैं। Unix.stackexchange.com/questions/81129/… पर एक नज़र डालें । lessशायद सबसे व्यापक रूप से इस्तेमाल किया जाने वाला पेजर है, लेकिन जो आप उपयोग करते हैं, वह व्यक्तिगत वरीयता में आता है।
moreऔर most!
भले ही हर कोई cat filenameमानक आउटपुट के लिए एक फ़ाइल पाठ को प्रिंट करने के लिए उपयोग करता है पहला उद्देश्य con cat enating है। बिल्ली के आदमी पृष्ठ से:
बिल्ली - समतल फ़ाइलें और मानक आउटपुट पर प्रिंट करें
अब बिल्ली फाइलों को प्रिंट करने के लिए ठीक है लेकिन इसके विकल्प भी हैं:
echo "$(<filename)"
or
printf "%s" "$(<filename)"
( )एक अभिव्यक्ति के मूल्य की सामग्री को लौटने के लिए, इस मामले में फ़ाइल नाम जो तब तक विस्तार किया जाता है $के लिए echoया printf।
अपडेट करें:
< filename
यह वही करता है जो आप चाहते हैं और याद रखना आसान है।
यहाँ एक उदाहरण है जो आपको एक मेनू में एक फ़ाइल का चयन करने देता है और फिर प्रिंट करता है।
#!/bin/bash
select fname in *;
do
# Don't forget the "" around the second part, else newlines won't be printed
printf "%s" "$(<$fname)"
break
done
आगे पढ़ने के लिए:
BashPitfalls - cat फ़ाइल | sed s / foo / bar /> फ़ाइल
बैश संदर्भ - पुनर्निर्देशन
< filenameठीक वही है जो आप चाहते हैं, ..." भ्रामक है। कुल मिलाकर, हालांकि यह विकल्पों पर एक दिलचस्प चर्चा है, मुझे लगता catहै कि सरल है।
< filenameफ़ाइल की सामग्री प्रदर्शित नहीं करता है, लेकिन cat filenameकरता है।
tee < filename।
echo "$(<filename)"बशीवाद के लिए +1 । यहाँ इतना ही नहीं।
"$(<filename)"। धन्यवाद ...
यूनिक्स पर पाठ फ़ाइलों को संभालने के लिए उपकरण बुनियादी, रोज़-कमांड हैं:
फ़ाइल में संपूर्ण सामग्री प्रिंट करने के लिए यूनिक्स और लिनक्स में
cat filename.txt
या
more filename.txt
या
less filename.txt
अंतिम कुछ पंक्तियों के लिए
tail filename.txt
पहली कुछ पंक्तियों के लिए
head filename.txt
एक विकल्प का उपयोग करना है more
जैसे more file.txt
हालाँकि इसमें सभी फीचर को नहीं जोड़ा गया है less।
एक सरल उदाहरण यह है कि आप आउटपुट में वापस स्क्रॉल नहीं कर सकते। आम तौर पर इसे कम से कम किया गया है - जिसे जेस्ट में नाम दिया गया था
थोड़ा ही काफी है
मैं हमेशा उपयोग करता हूं $ less "your file here", क्योंकि यह बहुत सरल है, एक अंतर्निहित इंटरएक्टिव grepकमांड प्रदान करता है , और आपको इंटरफ़ेस का उपयोग करने के लिए एक आसान देता है जिसे आप तीर कुंजियों के साथ स्क्रॉल कर सकते हैं।
(यह लगभग हर * निक्स सिस्टम पर भी शामिल है)
lessका ओवरकिल संस्करण है more(तुलना man lessकरें man more), और मेरे लिए इसमें दो कष्टप्रद विशेषताएं हैं: 1) यह वैकल्पिक स्क्रीन बफर पर स्विच करता है, जब कम समय समाप्त होता है, तो ईओएफ में आप जिस फ़ाइल को केवल गायब कर रहे थे 2) आपको स्पष्ट रूप से टाइप करना होगा q(मुझे पता है, इसके लिए एक विकल्प है)। इसलिए एक नए वातावरण में मेरा पहला कार्य export PAGER=/bin/moreमेरी प्रोफ़ाइल में सेट हो रहा है और moreहर समय उपयोग करना है।
-Xझंडे को आज़माएं । 2) -Eझंडे को आज़माएं । lessएक moreअनुकरण मोड है। आप इसे LESS_IS_MOREपर्यावरण चर सेट करके सक्षम कर सकते हैं । आप moreएमुलेशन मोड में ऊपर की ओर स्क्रॉल कर सकते हैं ।
lessअत्यधिक जटिल है। बाहरी कमांड चलाने की इसकी क्षमता इसकी अति-जटिलता का एक आदर्श उदाहरण है।
more, और यह कई अतिरिक्त विशेषताएं हैं, यह काम बहुत अच्छी तरह से करता है।
यदि इसकी एक बड़ी फ़ाइल है, और आप कुछ विशिष्ट भाग को खोजना चाहते हैं, तो आप उपयोग कर सकते हैं
cat filename | grep text_to_search -ni
इसके अलावा, यदि आप विम नहीं हैं, तो आप अधिक इंटरैक्टिव Vim संपादक (या vi संपादक) का उपयोग कर सकते हैं:
vim filename
Or
vi filename
विम / vi एक महान संपादक है, इसे "नॉर्मल मोड" में रीडर के रूप में भी इस्तेमाल किया जा सकता है या -R विकल्प का उपयोग किया जा सकता है, इसमें कई विशेषताएं हैं जो आपको फ़ाइल के माध्यम से ब्राउज़ करने में मदद करेगी।
vim -Rहै view। लेकिन ध्यान रखें कि यह पुनर्निर्देशन पसंद नहीं करता है, जैसा कि xargs और vi में चर्चा की गई है - "इनपुट एक टर्मिनल से नहीं है" ।
फ़ाइल नाम की सामग्री को प्रदर्शित करने के लिए कैट कमांड का उपयोग करें। बिल्ली का नाम
फ़ाइल संपादित करने के लिए vim कमांड का उपयोग करें। vim फ़ाइल नाम
sed -n l fileउपयोगी हो सकता है।