मैं कमांड लाइन पर एक पाठ फ़ाइल की सामग्री कैसे प्रदर्शित कर सकता हूं?


131

मैं कमांड लाइन पर एक पाठ फ़ाइल की सामग्री प्रदर्शित करना चाहूंगा। फ़ाइल में केवल 5-6 अक्षर हैं। क्या इसे करने का कोई आसान तरीका है?

जवाबों:


194

का उपयोग करते हुए 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

+1 भी sed -n l fileउपयोगी हो सकता है।
enzotib

1
क्या lessअन्य पेजर कार्यक्रमों की तरह इसका कोई स्पष्ट लाभ है pg, या क्या यह सिर्फ व्यक्तिगत प्राथमिकता के लिए उबाल है?
सैम वेनबर्ग

@SamWeberg: lessकी तुलना में अधिक सुविधाएँ हैं pgless(1)और pg(1)manpages पर एक नज़र रखना । साथ ही अन्य पेजर भी हैं। Unix.stackexchange.com/questions/81129/… पर एक नज़र डालेंlessशायद सबसे व्यापक रूप से इस्तेमाल किया जाने वाला पेजर है, लेकिन जो आप उपयोग करते हैं, वह व्यक्तिगत वरीयता में आता है।

मत भूलना moreऔर most!
रुडोल्फ ओलाह

29

भले ही हर कोई 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है कि सरल है।
X Tian

नंगे < filenameफ़ाइल की सामग्री प्रदर्शित नहीं करता है, लेकिन cat filenameकरता है।
19

आप भी उपयोग कर सकते हैं tee < filename
जारो

2
echo "$(<filename)"बशीवाद के लिए +1 । यहाँ इतना ही नहीं।
योकाई

इको के साथ लिनक्स आंतरिक कमांड का उपयोग करने के लिए यह बहुत अच्छा विचार है "$(<filename)"। धन्यवाद ...
रेजा हरसानी 25'18

9

आप पाठ फ़ाइल की सामग्री को प्रदर्शित करने के लिए निम्न आदेश का उपयोग कर सकते हैं।

बिल्ली का नाम 

के बारे में अधिक जानकारी के लिए cat, चलाएँ man cat

9

यूनिक्स पर पाठ फ़ाइलों को संभालने के लिए उपकरण बुनियादी, रोज़-कमांड हैं:

फ़ाइल में संपूर्ण सामग्री प्रिंट करने के लिए यूनिक्स और लिनक्स में

cat filename.txt

या

more filename.txt

या

less filename.txt

अंतिम कुछ पंक्तियों के लिए

tail filename.txt

पहली कुछ पंक्तियों के लिए

head filename.txt

4

एक विकल्प का उपयोग करना है more

जैसे more file.txt

हालाँकि इसमें सभी फीचर को नहीं जोड़ा गया है less
एक सरल उदाहरण यह है कि आप आउटपुट में वापस स्क्रॉल नहीं कर सकते। आम तौर पर इसे कम से कम किया गया है - जिसे जेस्ट में नाम दिया गया था

थोड़ा ही काफी है


3

मैं हमेशा उपयोग करता हूं $ less "your file here", क्योंकि यह बहुत सरल है, एक अंतर्निहित इंटरएक्टिव grepकमांड प्रदान करता है , और आपको इंटरफ़ेस का उपयोग करने के लिए एक आसान देता है जिसे आप तीर कुंजियों के साथ स्क्रॉल कर सकते हैं।

(यह लगभग हर * निक्स सिस्टम पर भी शामिल है)


lessका ओवरकिल संस्करण है more(तुलना man lessकरें man more), और मेरे लिए इसमें दो कष्टप्रद विशेषताएं हैं: 1) यह वैकल्पिक स्क्रीन बफर पर स्विच करता है, जब कम समय समाप्त होता है, तो ईओएफ में आप जिस फ़ाइल को केवल गायब कर रहे थे 2) आपको स्पष्ट रूप से टाइप करना होगा q(मुझे पता है, इसके लिए एक विकल्प है)। इसलिए एक नए वातावरण में मेरा पहला कार्य export PAGER=/bin/moreमेरी प्रोफ़ाइल में सेट हो रहा है और moreहर समय उपयोग करना है।
ott-- 15

@ ott--: 1) -Xझंडे को आज़माएं । 2) -Eझंडे को आज़माएं । lessएक moreअनुकरण मोड है। आप इसे LESS_IS_MOREपर्यावरण चर सेट करके सक्षम कर सकते हैं । आप moreएमुलेशन मोड में ऊपर की ओर स्क्रॉल कर सकते हैं ।

इसे भी देखें: unix.stackexchange.com/questions/81129/…

हालांकि, सामान्य तौर पर, मैं सहमत हूं कि lessअत्यधिक जटिल है। बाहरी कमांड चलाने की इसकी क्षमता इसकी अति-जटिलता का एक आदर्श उदाहरण है।

@EvanTeitelman मैंने हमेशा grep कार्यक्षमता को अपने आप में बेहद उपयोगी पाया है, @ ott-- मुझे लगता है कि इसके अनुकरण के कारण more, और यह कई अतिरिक्त विशेषताएं हैं, यह काम बहुत अच्छी तरह से करता है।
एसजी 60

2

यदि इसकी एक बड़ी फ़ाइल है, और आप कुछ विशिष्ट भाग को खोजना चाहते हैं, तो आप उपयोग कर सकते हैं

 cat filename | grep text_to_search -ni 

इसके अलावा, यदि आप विम नहीं हैं, तो आप अधिक इंटरैक्टिव Vim संपादक (या vi संपादक) का उपयोग कर सकते हैं:

 vim filename
Or
 vi filename

विम / vi एक महान संपादक है, इसे "नॉर्मल मोड" में रीडर के रूप में भी इस्तेमाल किया जा सकता है या -R विकल्प का उपयोग किया जा सकता है, इसमें कई विशेषताएं हैं जो आपको फ़ाइल के माध्यम से ब्राउज़ करने में मदद करेगी।


के लिए छोटा vim -Rहै view। लेकिन ध्यान रखें कि यह पुनर्निर्देशन पसंद नहीं करता है, जैसा कि xargs और vi में चर्चा की गई है - "इनपुट एक टर्मिनल से नहीं है"
मैनावर्क

धन्यवाद @manatwork सिर के लिए! मैंने हाल ही में विम का उपयोग करना शुरू किया है और मुझे इसकी कई विशेषताओं के कारण यह पसंद है। पुनर्निर्देशन के बारे में, मैं इसके बारे में भूल गया, अनुस्मारक के लिए धन्यवाद। अब तक, मैं एक दूरस्थ वीएम पर काम कर रहा हूं, जहां मैं GUI इंटरफ़ेस के बिना ssh का उपयोग करता हूं, इसलिए, विम का बहुत उपयोग है, जब कोई अन्य GUI संपादक काम नहीं कर सकता है, इसीलिए मैंने यहां विम पर जोर दिया।
तुम चिंता मत करो बाल

1

फ़ाइल नाम की सामग्री को प्रदर्शित करने के लिए कैट कमांड का उपयोग करें। बिल्ली का नाम

फ़ाइल संपादित करने के लिए vim कमांड का उपयोग करें। vim फ़ाइल नाम

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