শেড ব্যবহার করে কীভাবে রঙিন আউটপুট রাখা যায়


10

আমি sedকমান্ডটি ব্যবহার করছি এবং আমি পূর্ববর্তী কমান্ড থেকে রঙিন আউটপুট রাখতে চাই। এর আউটপুট lsরঙিন, তবে শেডের আউটপুট হয় না। আমি ওএসএক্স ব্যবহার করছি।

ls -la | sed -En  '/Desktop/q;p'

উত্তর:


13

ম্যাকোজে, এটি lsজিএনইউ নয় lsএবং --color=alwaysলিনাক্স ব্যবহারকারীরা এই কার্যকারিতার জন্য আশা করতে পারে এমন বিকল্পটি গ্রহণ করে না ।

এর ম্যাকোএস সংস্করণে ls, রঙগুলি দুটি ভেরিয়েবল দ্বারা নিয়ন্ত্রিত হয় : $CLICOLORএবং $CLICOLOR_FORCE। যদি পূর্বেরটি সংজ্ঞায়িত করা হয়, $TERMরঙ দ্বারা সমর্থন করে টার্মিনালটি বর্ণিত হয় , এবং আউটপুটটি টার্মিনালে হয়, তবে এই আউটপুটটি রঙিন হবে, অনেকটা জিএনইউর --color=autoবিকল্প হিসাবে। যদি পরবর্তী ভেরিয়েবলটিও সংজ্ঞায়িত করা হয় তবে GNU এর মতো আচরণ করে চূড়ান্ত শর্তটি বাদ দেওয়া হবে --color=always

রঙটি এর মধ্যে দিয়ে যাওয়ার জন্য sedআপনার নীচের মতো কিছু দরকার:

CLICOLOR_FORCE=1 ls -la | sed -En '/Desktop/q;p'

ম্যাকোসগুলির পাশাপাশি রঙ সক্ষম lsকরার -Gবিকল্প রয়েছে তবে আমি নিশ্চিত নই যে এটি পাইপলাইনে কীভাবে আচরণ করে।
বিট্রি

2
@ 8 বিট্রি পাসিং -Gসংজ্ঞায়নের সমতুল্য $CLICOLOR(এবং তাই যথেষ্ট নয়)
ফক্স ১৯

6

আমি অন্ধভাবে অনুমান করতে পারি যে আপনার বিতরণেও অনেকের মতো একটি উপাধি রয়েছে যা মানচিত্রের lsমধ্যে রয়েছে ls --color=autols -la --color=always | sed …কাজ করা উচিত.

( autoসেটিংটি বিস্তৃতভাবে বলতে গেলে, lsএটির আউটপুট প্রদর্শনে যায় কিনা এবং তা কেবল প্রদর্শনের জন্য রঙ করে কিনা তা পরীক্ষা করে reason ফাইলের অংশের জন্য, সেই জাতীয় জিনিস)


3
অন্ধ অনুমান ভুল is ওএসএক্স একটি লিনাক্স বিতরণ নয় এবং একটি জিএনইউ ব্যবহারকারীল্যান্ড ব্যবহার করে না
ফক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.