অ্যান্ড্রয়েড

উদাহরণ সহ লিনাক্সে Tr কমান্ড

লিনাক্স টিউটোরিয়াল | TR কমান্ড | GeeksforGeeks

লিনাক্স টিউটোরিয়াল | TR কমান্ড | GeeksforGeeks

সুচিপত্র:

Anonim

tr লিনাক্স এবং ইউনিক্স সিস্টেমে একটি কমান্ড-লাইন ইউটিলিটি যা স্ট্যান্ডার্ড ইনপুট থেকে অক্ষর অনুবাদ করে, মুছে ফেলতে এবং আটকায় এবং ফলাফলকে স্ট্যান্ডার্ড আউটপুটে লিখে দেয়।

tr কমান্ড পুনরাবৃত্তি করা অক্ষরগুলি সরানো, বড় হাতের অক্ষরে ছোট হাতের কাছে রূপান্তর করা এবং মৌলিক চরিত্রটি প্রতিস্থাপন এবং অপসারণের মতো ক্রিয়াকলাপ সম্পাদন করতে পারে। সাধারণত এটি পাইপিংয়ের মাধ্যমে অন্যান্য কমান্ডের সাথে একত্রে ব্যবহৃত হয়।

এই টিউটোরিয়ালে, আমরা কীভাবে ব্যবহারিক উদাহরণ এবং সর্বাধিক সাধারণ বিকল্পগুলির বিশদ ব্যাখ্যার মাধ্যমে tr কমান্ডটি ব্যবহার করব তা আপনাকে দেখাব।

কীভাবে tr কমান্ড ব্যবহার করবেন

tr কমান্ডের বাক্য tr নিম্নরূপ:

tr OPTION… SET1

tr সাধারণত দুটি অক্ষরের দুটি সেট গ্রহণ করে, সাধারণত একই দৈর্ঘ্যের সাথে এবং দ্বিতীয় সেট থেকে সংশ্লিষ্ট অক্ষরের সাথে প্রথম সেটগুলির অক্ষরকে প্রতিস্থাপন করে।

একটি SET মূলত বিশেষ ব্যাকস্ল্যাশ-এড়িয়ে যাওয়া অক্ষরগুলি সহ অক্ষরের একটি স্ট্রিং।

নিম্নলিখিত উদাহরণে, tr প্রথম সেট থেকে অক্ষরগুলি দ্বিতীয় সেট থেকে মেলানো অক্ষরের সাথে মানচিত্রের মাধ্যমে স্ট্যান্ডার্ড ইনপুট (লিনাক্সাইজ) থেকে সমস্ত অক্ষর প্রতিস্থাপন করবে।

echo 'linuxize' | tr 'lin' 'red'

l প্রতিটি ঘটনাকে r , i সাথে এবং n সাথে d দিয়ে প্রতিস্থাপন করা হয়:

reduxeze

অক্ষর সেটগুলি অক্ষর ব্যাপ্তি ব্যবহার করে সংজ্ঞায়িত করা যায়। উদাহরণস্বরূপ, লেখার পরিবর্তে:

echo 'linuxize' | tr 'lmno' 'wxyz'

তুমি ব্যবহার করতে পার:

echo 'linuxize' | tr 'ln' 'w-z'

যখন -c ( -c --complement ) বিকল্পটি ব্যবহার করা হয়, তখন tr SET1 এ নয় এমন সমস্ত অক্ষর প্রতিস্থাপন করে।

নীচে উদাহরণে "লি" বাদে সমস্ত অক্ষর দ্বিতীয় সেট থেকে শেষ অক্ষরের সাথে প্রতিস্থাপন করা হবে:

echo 'linuxize' | tr -c 'li' 'xy'

liyyyiyyy

যেমন আপনি লক্ষ্য করেছেন, উপরের আউটপুটটিতে ইনপুটটির চেয়ে আরও একটি দৃশ্যমান চরিত্র রয়েছে। কারণ echo কমান্ড একটি অদৃশ্য নিউলাইন অক্ষর ints প্রিন্ট করে যা y সাথে প্রতিস্থাপিত হয়। নতুন লাইন ছাড়াই স্ট্রিং প্রতিধ্বনি করতে -n বিকল্পটি ব্যবহার করুন।

-d ( --delete ) বিকল্পটি SET1 এ বর্ণিত অক্ষরগুলি মুছতে tr কে বলে। অক্ষরগুলি সঙ্কুচিত না করে মুছে ফেললে, কেবল একটি সেট নির্দিষ্ট করুন।

নীচের কমান্ডটি l , i এবং z অক্ষর মুছে ফেলবে:

echo 'Linuxize' | tr -d 'liz'

L অক্ষর মুছে ফেলা হয়নি কারণ ইনপুটটিতে একটি বড় হাতের L অন্তর্ভুক্ত থাকে যখন এসইটিতে L অক্ষর ছোট হয়।

Lnuxe

--squeeze-repeats ( --squeeze-repeats ) বিকল্পটি শেষ --squeeze-repeats এ অক্ষর সেট করে পুনরাবৃত্তি ঘটনার ক্রমকে প্রতিস্থাপন করে।

নিম্নলিখিত উদাহরণে, tr পুনরাবৃত্তি স্থান অক্ষরগুলি সরিয়ে দেয়:

echo "GNU \ Linux" | tr -s ' '

GNU \ Linux

যখন SET2 ব্যবহার করা হয় তখন SET1 এ বর্ণিত অক্ষরের ক্রমটি SET2 দিয়ে প্রতিস্থাপন করা হয়।

echo "GNU \ Linux" | tr -s ' ' '_'

GNU_\_Linux

-t ( --truncate-set1 ) বিকল্পটি tr করে আরও প্রক্রিয়াকরণ করার আগে SET1 এর দৈর্ঘ্যে SET1 কে --truncate-set1 বাধ্য করে।

ডিফল্টরূপে, এসইটি 1 এসইটি 2 এর চেয়ে বড় হলে এসইটি 2 এর শেষ অক্ষরটি পুনরায় ব্যবহার করবে। এখানে একটি উদাহরণ:

echo 'Linux ize' | tr 'abcde' '12'

আউটপুটটি দেখায় যে SET1 এর থেকে e অক্ষরটি SET2 এর সর্বশেষ অক্ষরের সাথে মেলে যা 2 :

Linux iz2

এখন -t অপশন সহ একই কমান্ডটি ব্যবহার করুন:

echo 'Linux ize' | tr -t 'abcde' '12'

Linux ize

আপনি দেখতে পাচ্ছেন যে SET1 এর শেষ তিনটি অক্ষর সরানো হয়েছে। SET1 'আব' হয়ে যায়, SET2 এর সমান দৈর্ঘ্য, এবং কোনও প্রতিস্থাপন করা হয় না।

সংমিশ্রণ বিকল্প

tr কমান্ড আপনাকে এর বিকল্পগুলি একত্রিত করার অনুমতি দেয়। উদাহরণস্বরূপ, নিম্নলিখিত কমান্ডটি প্রথমে i 0 বাদে সমস্ত অক্ষর প্রতিস্থাপন করে এবং তারপরে পুনরাবৃত্তি 0 অক্ষর চেপে:

echo 'Linux ize' | tr -cs 'i' '0'

0i0i0

Tr কমান্ড উদাহরণ

এই বিভাগে, আমরা tr কমান্ডের সাধারণ ব্যবহারগুলির কয়েকটি উদাহরণ কভার করব।

লোয়ার কেস কে আপার কেস এ রূপান্তর করুন

লোয়ার কেস কে আপার কেস বা রিভার্সে রূপান্তর করা tr কমান্ডের একটি সাধারণ ব্যবহারের কেস। সমস্ত ছোট হাতের অক্ষরের সাথে মেলে সমস্ত বড় হাতের অক্ষরের সাথে মেলে।

echo 'Linuxize' | tr '' ''

LINUXIZE

অক্ষর শ্রেণীর পরিবর্তে, আপনি ব্যাপ্তিগুলিও ব্যবহার করতে পারেন:

echo 'Linuxize' | tr 'az' 'A-Z'

আপার কেস কে লোয়ার কেসে রূপান্তর করতে, কেবল সেটগুলির স্থানগুলি স্যুইচ করুন।

সমস্ত অ-সংখ্যাযুক্ত অক্ষর মুছে ফেলুন

নিম্নলিখিত কমান্ডটি সমস্ত অ-সংখ্যাযুক্ত অক্ষর মুছে ফেলে:

echo "my phone is 123-456-7890" | tr -cd

সমস্ত অঙ্কের অক্ষরের জন্য দাঁড়ায় এবং -c বিকল্পটি ব্যবহার করে কমান্ডটি সমস্ত অ-অঙ্কের অক্ষর সরিয়ে দেয়। আউটপুটটি দেখতে এইরকম হবে:

1234567890

প্রতিটি শব্দ একটি নতুন লাইনে রাখুন

প্রতিটি শব্দকে একটি নতুন লাইনে রাখতে, আমাদের সমস্ত অ-অক্ষরীয় অক্ষরগুলির সাথে মেলে এবং তাদের একটি নতুন লাইনের সাথে প্রতিস্থাপন করতে হবে:

echo 'GNU is an operating system' | tr -cs '' '\n'

GNU is an operating system

ফাঁকা লাইন সরান

ফাঁকা লাইনগুলি মুছতে কেবল পুনরাবৃত্ত নতুন লাইনের অক্ষরগুলি বার করুন:

tr -s '\n' < file.txt > new_file.txt

উপরের কমান্ডে আমরা পুনর্নির্দেশ প্রতীকটি ব্যবহার করছি < file.txt বিষয়বস্তু file.txt করার জন্য। file.txt । পুনঃনির্দেশ > কমান্ডের আউটপুট new_file.txt

পৃথক লাইনে $PATH ডিরেক্টরি মুদ্রণ করুন

$PATH পরিবেশগত পরিবর্তনশীল হ'ল ডিরেক্টরিগুলির একটি কোলন-সীমাবদ্ধ তালিকা যা শেলকে জানায় যে আপনি যখন কমান্ড টাইপ করেন তখন এক্সিকিউটেবল ফাইলগুলির জন্য অনুসন্ধান করতে হবে directories

আলাদা আলাদা লাইনে প্রতিটি ডিরেক্টরি মুদ্রণ করতে আমাদের কোলন (:) এর সাথে মেলে এবং নতুন লাইনের সাথে এটি প্রতিস্থাপন করতে হবে:

echo $PATH | tr ':' '\n'

/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin

উপসংহার

tr অক্ষর অনুবাদ বা মুছে ফেলার জন্য একটি আদেশ।

যদিও খুব দরকারী, tr শুধুমাত্র একক অক্ষর দিয়ে কাজ করতে পারে। আরও জটিল প্যাটার্ন মেলানো এবং স্ট্রিং ম্যানিপুলেশনের জন্য আপনার sed বা awk ব্যবহার করা উচিত।

টিআর টার্মিনাল