मैं कमांड लाइन पर एक पाठ फ़ाइल की सामग्री प्रदर्शित करना चाहूंगा। फ़ाइल में केवल 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
उपयोगी हो सकता है।