আমার এএনএসআই রঙের একটি ফাইল রয়েছে।
test.txt:
\e[0;31mExample\e[0m
আমি এই ফাইলটির বিষয়বস্তু টার্মিনালে cat
প্রদর্শন করতে চাই , যেমন করি তবে আমি রঙগুলিও প্রদর্শন করতে চাই।
cat
মুদ্রণ কি?
echo -e $(cat test.txt)
।
আমার এএনএসআই রঙের একটি ফাইল রয়েছে।
test.txt:
\e[0;31mExample\e[0m
আমি এই ফাইলটির বিষয়বস্তু টার্মিনালে cat
প্রদর্শন করতে চাই , যেমন করি তবে আমি রঙগুলিও প্রদর্শন করতে চাই।
cat
মুদ্রণ কি?
echo -e $(cat test.txt)
।
উত্তর:
আমি এই সঠিক বাশ প্রশ্নের সমাধান খুঁজছিলাম। আমি থমাস ডিকির মন্তব্য প্রায় মিস করেছি যা আমাকে সবচেয়ে মার্জিত সমাধান দেয়।
echo -e $(cat test.txt)
কিছু জিনিস যা আমার পক্ষে কার্যকর হয়নি তা হ'ল (দৃশ্যত আপনি পাইপ জিনিসগুলি প্রতিধ্বনিত করতে পারবেন না)
cat test.txt | echo -e
অথবা
less -R test.txt
আমার আর একটি সমস্যা ছিল যে প্রতিধ্বনিতু ফাইলের মধ্যে খুব ভালভাবে নিউলাইন এবং স্বচ্ছ স্পেসগুলি প্রিন্ট করে না। সেগুলি মুদ্রণের জন্য, আমি নিম্নলিখিতগুলি ব্যবহার করেছি।
echo -ne $(cat test.txt | sed 's/$/\\n/' | sed 's/ /\\a /g')
এটি একটি টেস্ট.টেক্সট ফাইল সমন্বিত জন্য কাজ করে
\e[0;31mExa mple\e[0m
\e[0;31mExample line2\e[0m
\a
আমার জন্য ঘণ্টা বাজায়। আমি আপনার দ্বিতীয় সেড কমান্ডটি পরিবর্তন করেছি sed 's/ /\\033\\a /g'
যা ঘণ্টা বাজায় না।
$(cat file.txt)
ডাবল উদ্ধৃতিতে গুটিয়ে রাখা এবং শেষে একটি নতুন লাইন যুক্ত করা ভাল বলে মনে করেছি - সুতরাং: echo -ne "$(<file.txt)" \\n
বা echo -ne "$(cat <<"EOF" . . . EOF)" \\n
। এটি পাঠ্যে গ্লোব সম্প্রসারণ করতে বাশকে বাধা দেয়।
আপনি যদি cat
নিয়ন্ত্রণ বর্ণগুলি থেকে রঙ না দেখেন তবে সম্ভবত অক্ষত নয়।
কিছু সরঞ্জাম নিয়ন্ত্রণের অক্ষরগুলি ছড়িয়ে দেয় তবে লেজ প্রান্তে ছেড়ে যায়।
তুলনা করা:
echo -e "\e[0;31mExample\e[0m foo"
প্রতি
echo -e "[0;31mExample[0m foo"
আপনি যা রেখে গেছেন তা থেকে নিয়ন্ত্রণ সিক্যুয়েন্সটি পুনর্নির্মাণ করতে সক্ষম হবেন, যদিও আপনি যে রেজেক্সটি ব্যবহার করেন তা দুর্ঘটনাক্রমে অযাচিত চরিত্রের ক্রম ইত্যাদি আঁকতে পারে তবে উদাহরণস্বরূপ:
echo -e "[0;31mExample[0m foo" | sed "s:\[\([0-9]*[;m]\):^[[\1:g"
উদাহরণটি স্ট্রিংয়ে রঙ পুনরুদ্ধার করবে।
এটি ডিফল্টরূপে কাজ করা উচিত। যেমন আমি যদি করি ls --color=always > /tmp/a
এবং তার চেয়ে বেশি cat /tmp/a
, আমি রঙগুলি দেখি। পরীক্ষা করে od
নিশ্চিত করা হয় যে ফাইলটি এএনএসআই রঙ ব্যবহার করে।
সুতরাং আমি মনে করি আপনার টার্মিনালটি এএনএসআই রঙগুলি সমর্থন করে কিনা (এবং সেগুলি সক্ষম করা আছে) তা পরীক্ষা করা উচিত।
less -R
উদাহরণস্বরূপ ব্যবহার করা হচ্ছে ।