`ক্যাট` রঙগুলিতে কোড মার্কআপ ব্যবহার করে ফাইলগুলি প্রদর্শন করতে পারে?


45

কখনও কখনও আমি দ্রুত কমান্ড লাইন থেকে একটি ফাইলের বিষয়বস্তু দেখতে চাই। এর জন্য আমি অবশ্যই ব্যবহার করি catতবে এটি প্রায়শই পাইথন , জাভা বা সাধারণ এইচটিএমএল- এ সোর্স ফাইল হয় । এই ফাইলগুলির জন্য এটি সহজ হবে যদি ফাইলে catকিছু রঙিন মার্কআপ দেওয়া যায়, যাতে এটি আরও সহজভাবে পড়তে পারে।

এ জাতীয় কাজ করতে catপারেন?


ইতিমধ্যে এটির একটি উত্তর এখানে
উইল্ফ

: ডি এছাড়াও তাই এই বিষয়ে টুকুনি: হা @wilf আমি Google এর সাথে একই কোড পাওয়া superuser.com/questions/84426/...
Rinzwind

@ রিনজুইন্ড - আমি স্ট্যাকওভারফ্লো অনুসন্ধান করেছিলাম, কারণ এটি আসতে বাধ্য ছিল ;-)
উইলফ

এই প্রশ্নটি cat -vক্ষতিকারক হিসাবে বিবেচিত মনে করিয়ে দেয় ।
স্নোবল

উত্তর:


48

catএটি করতে সক্ষম হয় না। তবে, পাইগমেন্টগুলি আপনাকে সেখানে সাহায্য করতে সক্ষম হতে পারে। এটি একটি অজগর স্ক্রিপ্ট এবং এটি এপটি-গেটের মাধ্যমে ইনস্টল করা যেতে পারে

sudo apt-get install python-pygments

বা ইজি_ইনস্টল এর মাধ্যমে সহজেই ডাউনলোড এবং ইনস্টল করা হয়েছে।

এটি প্রচুর উত্স কোড ভাষা এবং মার্কআপ ভাষাগুলিকে সমর্থন করে

এটি দ্বারা ব্যবহৃত হয়

pygmentize -g <filename>

5
হিসাবে ফাইল খুলুন pygmentize -g <filename>, -gলেক্সার ছাড়াই সুইচটি ফাইল পরিচালনা করা গুরুত্বপূর্ণ। উদাহরণস্বরূপ আপনি যদি /etc/fstabএটি ছাড়া খোলার চেষ্টা করেন তবে -gএটি ব্যর্থ হবে।
সৌরভসি

ধন্যবাদ @ সৌরভ এটি উত্তরে যুক্ত করেছেন। মজার বিষয় হচ্ছে এই যুক্তিটি ম্যান পেজ বা সহায়তা পৃষ্ঠায় উল্লেখ করা বলে মনে হচ্ছে না
txwikinger

2
আচ্ছা এর সাথে আমি অনেক খেলেছি। আপনি এটি চেষ্টা জানতে পারেন pygmentize --help তাহলে -g, পাস করা হয়েছে ফাইলের বিষয়বস্তু থেকে lexer অনুমান, অথবা যদি এই ব্যর্থ (stdin এই করতে পারেন কর্মস্থল) সাধারণ পাঠ্য হিসাবে মধ্য দিয়ে পাস করার প্রচেষ্টা।
সৌরভসি

4
পিগমেনটিজ-জি এটি সেরা, তারপরে ওরফে বিড়াল এবং আপনি সোনার। মাছের মধ্যে এটি হিসাবে সহজ funced cat... type pygmentize -g $argv... save..funcsave cat
এলিজা লিন

আমার মধ্যে bashrcআমি যুক্ত করেছি: command -v pygmentize >/dev/null 2>&1 && alias cat='pygmentize -g'
আন্তোনিওস হাদজিগেরগালিস

19

catনিজে থেকে নয় তবে আপনি উত্স হাইলাইট বা সুপারক্যাট বা হাইলাইটের মতো কিছু ব্যবহার করতে পারেন

উত্স-হাইলাইট

একটি উত্স ফাইল দেওয়া এই প্রোগ্রামটি সিনট্যাক্স হাইলাইট করে একটি নথি তৈরি করে। এটি একটি সি ++ হাইলাইট লাইব্রেরি সরবরাহ করে (নতুন) (সংস্করণ 3.0)।

উত্স-হাইলাইট গতিশীলভাবে সোর্স ভাষার স্পেসিফিকেশন পড়ে, সুতরাং এটি সহজেই নতুন ভাষাগুলি পরিচালনা করার জন্য (উত্সগুলি পুনরায় সংশোধন না করে) প্রসারিত করা যেতে পারে। এটি আউটপুট ফর্ম্যাট স্পেসিফিকেশনগুলি গতিশীলভাবেও পড়ে এবং নতুন আউটপুট ফর্ম্যাটগুলি পরিচালনা করার জন্য এটি সহজে উত্সগুলি (উত্সগুলি পুনরায় সংবিধান না করে) বাড়ানো যায়। এই নির্দিষ্টকরণের জন্য বাক্য গঠনটি বেশ সহজ (ম্যানুয়ালটিতে একবার দেখুন)।

ইনস্টলেশন সম্পর্কে ম্যানুয়াল:

বিশদ বিল্ডিং এবং ইনস্টলেশন নির্দেশের জন্য ইনস্টল করা ফাইলটি দেখুন; যাইহোক আপনি যদি উত্সগুলির সাথে উপস্থিত লিনাক্স সফ্টওয়্যার সংকলন করতে অভ্যস্ত হন তবে আপনি সাধারণ পদ্ধতিটি সহজেই অনুসরণ করতে পারেন, উদাহরণস্বরূপ, আপনি কোনও ডিরেক্টরিতে ডাউনলোড করা ফাইলটি অনার্ট করুন এবং তারপরে:

 cd <source code main directory>
 ./configure
 make
 make install

Supercat

এটি সুপারকার্টের হোমপেজ। সুপারকার্যাট এমন একটি প্রোগ্রাম যা নিয়মিত এক্সপ্রেশন / স্ট্রিং / অক্ষরের সাথে মিল রেখে পাঠ্যকে রঙিন করে। সুপারকেট এইচটিএমএল আউটপুট পাশাপাশি মানক ASCII পাঠ্য সমর্থন করে। কিছু টেক্সট-কালারাইজিং প্রোগ্রাম উপস্থিত রয়েছে তার বিপরীতে, সুপারকাটের রঙিনীতি নিয়ম করার জন্য আপনাকে প্রোগ্রামার হওয়ার দরকার নেই।

যদি আপনি একটি স্ট্যান্ডার্ড ফাইল টাইপের জন্য একটি সুপারক্যাট কনফিগারেশন ফাইল লিখে থাকেন তবে সুপারক্যাট বিতরণে সম্ভাব্য অন্তর্ভুক্তির জন্য দয়া করে "বাগ-এসপিসি (এট) নসরেডনা (ডট) নেট" এ আমার সাথে যোগাযোগ করতে দ্বিধা করবেন না।

অথবা একটি ফাংশন ( উত্স ) সহ:

#!/bin/bash#!/bin/bash
if [ ! -t 0 ];then
        file=/dev/stdin
elif [ -f $1 ];then
        file=$1
else
        echo "Usage: $0 code.c"
        echo "or e.g. head code.c|$0"
        exit 1
fi
pygmentize -f terminal -g $file

প্রয়োজনীয়: পাইগমেন্টগুলি ( sudo apt-get install python-pygments python3-pygments) এটিকে ফাংশন হিসাবে যুক্ত করুন f ফাংশনগুলিতে এটি যুক্ত করুন এবং এটি রঙের মতো একটি নাম দিন ()


14

এখানে এই উত্তর হিসাবে , আপনি python-pygmentsজিনিস হাইলাইট করতে প্যাকেজ ব্যবহার করতে পারেন । প্রথমে করুন:

sudo apt-get install python-pygments python3-pygments

তারপর:

pygmentize -g FILENAME

তাহলে যেতে হবে:

এখানে চিত্র বর্ণনা লিখুন

আপনি এটিকে একটি উপনাম হিসাবে সেট করতে পারেন, যেমনটি আমি যুক্ত উত্তরটির মতো - মূলত: এটি চালান:

echo "alias catc='pygmentize -g'" >> ~/.bash_aliases 
chmod +x ~/.bash_aliases

টার্মিনালটি বন্ধ করুন, এটি আবার খুলুন, এবং catcকমান্ডটি এখন কাজ করা উচিত - যদি এটি না হয় তবে নিশ্চিত হয়ে নিন যে এই লাইনগুলি .bashrcফাইলে রয়েছে এবং তারা কোনও সংবিধানিত নয়:

if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

আর একটি জিনিস কেবল ব্যবহার করা হবে nano:

nano testfile

এখানে চিত্র বর্ণনা লিখুন


6

man view অথবা man vim

বেসিক ব্যবহার: view <filename>

প্রস্থান করুন: :q<Return>( <Esc>যদি ব্যবহার করা হয় তবে প্রথমে যোগ করুন vim), বা ZZ(আপার কেস z দুইবার)।

প্রোগ্রামারটির পাঠ্য সম্পাদককে vimআপনার ইতিমধ্যে সমস্ত প্রয়োজন রয়েছে এবং সম্ভবত এটি ইতিমধ্যে আপনার সিস্টেমের অংশ।

vimসঙ্গে সক্রিয় শুধুমাত্র পাঠযোগ্য মোড রয়েছে viewবা vim -R। আপনি যা করতে চান তা যদি চিহ্নিত করা ফাইলটি দেখতে হয় তবে তা যথেষ্ট হওয়া উচিত।

ব্যবহারে সহজ, নাব্যযোগ্য, সর্বত্র উপলব্ধ। নতুন সফ্টওয়্যার ইনস্টল করার বা ব্যাশ স্ক্রিপ্টগুলি লেখার বিষয়ে গোলমাল করার দরকার নেই।


আমি জানি. বিষয়টি হ'ল ভিএম খুলতে এবং বন্ধ করা দ্রুত হয় না। আমি তাত্ক্ষণিকভাবে একটি ফাইল দেখতে চাই এবং তারপরে কমান্ড লাইনে চালিয়ে যেতে চাই। এই কারণেই আমি পাইগম্যানটিজকে এমন একটি ভাল পেলাম। তাত্ক্ষণিক ফলাফল, কোনও প্রোগ্রাম বা কিছুই
ছাড়ছে

1
@ kramer65 অবশ্যই এটি আপনার পছন্দ, তবে আপনার "খোলার" দরকার নেই vimবা viewআপনাকে কেবল ফাইলটি সরবরাহ করতে হবে: view file.pyসুতরাং কোনও পার্থক্য নেই cat। অবশ্যই আপনার এটি বন্ধ করা দরকার, তবে সত্যই, :q<Return>বা ZZকোনও কঠিন কাজ নয়।
একটি ভিন্ন বেন

বিআই / ভিআইএম / ভিউ হওয়াই বড় সমস্যাটি স্টাডাউটকে লিখবেন না, তাই উপরের সিনট্যাক্স হাইলাইট করা আউটপুটটিতে ঝলক দেওয়া অবস্থায় আমি সহজেই একটি কমান্ড লিখতে পারি না।
জ্যাকহু


3

catসম্পূর্ণরূপে সিনট্যাক্স হাইলাইট উত্পাদন করতে পারে না। তবুও আপনি নিম্নলিখিত হিসাবে এটি ব্যবহার করতে পারেন python-pygments। টার্মিনাল থেকে প্রথমে এটি ইনস্টল করুন,

sudo apt-get install python-pygments

এখন নীচের ফাংশনটি অনুলিপি করুন ~/.bashrc। এটি আপনাকে যা দেবে তা দেবে এবং এটির বৈশিষ্ট্য সংরক্ষণ করবেcat অন্যথায় ব্যবহারের কোনও মানে নেইcat

catc(){
    cat "$@" > /tmp/.tmp
    pygmentize -g /tmp/.tmp
    rm /tmp/.tmp
}

উত্স ~/.bashrcহিসাবে,

. ~/.bashrc

এটি রঙিন আউটপুট দেবে,

catc <filename>

এটি পাশাপাশি রঙের সাথে সংমিশ্রণ করবে,

catc <file1> <file2> ... <filen>

pygmentize? ফর্মের একটি কমান্ড ব্যবহার করে এটি খোলার সময় এবং নীচে তীরগুলি দিয়ে স্ক্রোলিং সক্ষম করার কোনও উপায় আছে xterm -e "pygmentize -g <filename>" এবং সন্ধান করছি যে স্ক্রোলের একমাত্র উপায় হ'ল স্ক্রোল বারটি ব্যবহার করা। আমি আউটপুটটি পাইপ করার চেষ্টা করেছি lessতবে এর ফলে আবর্জনা আউটপুট হয়েছিল।
লিও সাইমন

হ্যাঁ আপনি pygmentizeকম ব্যবহার করতে পারেন । lesscনিম্নলিখিত হিসাবে একটি বাশ ফাংশন তৈরি করুন :lessc () { pygmentize -gf terminal "$1" | less -R }
সৌরভ্যাক

2

বাদুড় - ডানা সঙ্গে একটি বিড়াল ক্লোন

batনিম্নলিখিত বৈশিষ্ট্যগুলি কী কী তা আপনিও পরীক্ষা করে দেখতে চাইতে পারেন :

  • সিনট্যাক্স হাইলাইট করা
  • গিট সংহত
  • Ptionচ্ছিকভাবে মুদ্রণযোগ্য অক্ষরগুলি দেখাচ্ছে
  • সঙ্গে স্বয়ংক্রিয় পেজিং less
  • catযখন পুনঃনির্দেশিত হয় তখন এর জন্য ড্রপ-ইন প্রতিস্থাপন হিসাবে ফাইল কনকন্টেশন

 পূর্বরূপ

রঙিন ফাইল দেখাচ্ছে ব্যাটের স্ক্রিনশট

অফিসিয়াল গিটহাব থেকে তোলা ছবি

স্থাপন

আপনি এখানে সর্বশেষতম দেবিয়ান প্যাকেজ পেতে পারেন এবং এটি দিয়ে এটি ইনস্টল করতে পারেন:

sudo dpkg -i bat_0.10.0_amd64.deb

সংস্করণ নম্বর এবং আর্কিটেকচার মানিয়ে নেওয়া।


0

অন্যান্য উত্তরগুলি কেন catএটি করতে সক্ষম নয় তা কভার করে। যদিও আপনি কম পাইপ.শ ব্যবহার করে এটি কম করে করতে পারেন ।


0

তৃতীয় পক্ষের প্যাকেজ ইনস্টল করার পরিবর্তে, আপনি geditসিনট্যাক্স হাইলাইটিং সহ একটি ফাইল দ্রুত দেখতে ব্যবহার করতে পারেন । উদাহরণস্বরূপ উপরে ঠিকানা বারটি অনুলিপি করুন এবং আপনার টার্মিনালটিতে আটকান:

gedit https://askubuntu.com/questions/405960/can-cat-show-files-using-code-markup-in-colors

আপনি এই প্রশ্নটি এইচটিএমএলে ফর্ম্যাট রঙ সহ দেখতে পাবেন:

gedit https.png

  • আপনি পরিচিত geditনেভিগেশন কী ব্যবহার করতে পারেন
  • আপনি লাইন র‌্যাপটি চালু / বন্ধ করতে পারেন
  • থাম্বনেইল স্লাইডারের সাহায্যে আমি 80 টি চরিত্রের জলের এবং নথির ওভারভিউ (ডানদিকের) জন্য ইনস্টল করেছি এমন প্লাগইন আপনি ব্যবহার করতে পারেন
  • কেবলমাত্র আপনার মনে রাখা দরকার Alt+ F4শীঘ্রই উইন্ডোটি বন্ধ করে দেওয়ার জন্য catযা কীস্ট্রোকগুলি বন্ধ করার প্রয়োজন হয় না।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.