এই টিআর কমান্ডের বিন্দুগুলি কী করে: ট্র… এজেড এ-জেডএ-জেড <<< “জেভিপিকিউবিওভি” (১৩ টি ডট সহ)


18

আমি trকিছু পচা 13 রূপান্তর করতে ব্যবহার করতে চাই । আমি এই আদেশটি সুন্দরভাবে বুঝতে পারি:

tr A-Za-z N-ZA-Mn-za-m <<< "URYC ZR CYRNFR"

কোন আউটপুট HELP ME PLEASE, তবে আমি বুঝতে পারি না যে এই অন্যান্য কমান্ড কীভাবে একই পচা 13 রূপান্তর করতে পারে:

tr .............A-Z A-ZA-Z <<< "URYC ZR CYRNFR"

সুতরাং আমার দুটি প্রশ্ন আছে:

  1. দ্বিতীয় trকমান্ডের পিছনে যাদু কী ?
  2. দ্বিতীয় কমান্ডটি প্রথম কমান্ডের মতো নিম্ন এবং উচ্চতর উভয় ক্ষেত্রে কীভাবে কাজ করবে?

আমি জানি 13 টি বিন্দু আছে আমি যা জানতে চাই তা হল এটি কীভাবে কাজ করে। ম্যানুয়ালটিতে বিন্দু সম্পর্কে কোনও ব্যাখ্যা নেই
ফ্রেডেরিকো অলিভিরা

4
আপনার আরও ভাল আশা ছিল যে আপনি আপনার ইনপুট পাঠ্যে
কোনও বিন্দুতে দৌড়াবেন না

1
FWIW সংক্ষিপ্ত ফর্ম tr [.*13].A-Z A-ZA-Zঠিক পাশাপাশি কাজ করেtr .............A-Z A-ZA-Z
ইরুয়ার r

উত্তর:


17

এটি নিম্নলিখিত হিসাবে কাজ করে:

SET1-> .............ABCDEFGHIJKLMNOPQRSTUVWXYZ
SET2-> ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLM

সুতরাং trঅনুবাদ SET1করা হবে SET2

এটি প্রথমটির সমতুল্য কারণ এটি 13ইউনিট দ্বারা 13 টি বিন্দু হিসাবে স্থানান্তরিত হচ্ছে ।

লোয়ার কেস লেটারগুলি অন্তর্ভুক্ত করতে আপনাকে সেগুলি SET1একটি অনুরূপ অফসেটের সাথে সাজিয়ে রাখতে হবে, অর্থাত:

.............ABCDEFGHIJKLMNOPQRSTUVWXYZ..........................abcdefghijklmnopqrstuvwxyz

ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzabcdefghijklm

যে মধ্যে 26 ডট এর Zএবং a, অর্ধেক উপরের কেস এবং অর্ধেক ছোট হাতের বর্ণমালা spanning। সুতরাং trআদেশটি নিজেই হবে:

tr .............A-Z..........................a-z A-ZA-Za-za-z

14

@ প্রাইভেট_যাদভি যেমন তাদের উত্তরে বলেছে, 13 টি ডট আছে বলে এটি কাজ করে।

সেটগুলি হয়

First set:  .............ABCDEFGHIJKLMNOPQRSTUVWXYZ
Second set: ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ

বিন্দুটি কোনও বিশেষ চরিত্র নয়, সুতরাং আপনার ইনপুটটিতে যদি বিন্দু থাকে তবে এটিও অনুবাদ করা হবে। trআমার যে সংস্করণটি রয়েছে , এটি দ্বিতীয় সেটের সর্বশেষ চরিত্র, এই ক্ষেত্রে একটি M:

$ echo URYC ZR CYRNFR. | tr .............A-Z A-ZA-Z
HELP ME PLEASEM

(আমি কল্পনা করতে পারি যে একটি ভিন্ন সংস্করণ trসেট 2 এ প্রথম মিলের অক্ষর ব্যবহার করতে পারে যা একটি উপহার দেবে A))

আপনার দ্বিতীয় প্রশ্নের উত্তর দেওয়ার জন্য , সেট 2 এ বাকী বড় হাতের অক্ষরগুলি "ব্যবহার" করতে আপনাকে প্রথম সেটে আরও 13 টি বিন্দু প্রয়োজন:

First set:  .............ABCDEFGHIJKLMNOPQRSTUVWXYZ.............
Second set: ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ

তারপরে আপনি প্যাটার্নটি পুনরাবৃত্তি করতে পারেন:

First set:  .............ABCDEFGHIJKLMNOPQRSTUVWXYZ..........................abcdefghijklmnopqrstuvwxyz
Second set: ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz

যা আমাদের দেয়:

tr .............A-Z..........................a-z A-ZA-Za-za-z

এবং তাই:

$ echo Uryc zr cyrnfr | tr .............A-Z..........................a-z A-ZA-Za-za-z
Help me please

ব্যক্তিগতভাবে, আমি আপনার প্রশ্নে এটি করার প্রথম উপায়টি সহজ বলে মনে করি!

প্রথম উপায়টি ইনপুটটিতে অন্য কোনও অক্ষরকেও রূপান্তরিত করে না। উদাহরণস্বরূপ, তুলনা করুন:

$ echo Uryc zr cyrnfr. | tr .............A-Z..........................a-z A-ZA-Za-za-z  
Help me pleasem

সঙ্গে

$ echo Uryc zr cyrnfr. | tr A-Za-z N-ZA-Mn-za-m
Help me please.

1

ঠিক আছে, সুতরাং @ প্রাইভেট_ ইয়াদভিকে ধন্যবাদ আমি বিন্দুগুলি বুঝতে সক্ষম হয়েছি। এখানে প্রথম প্রশ্নের উত্তর:

দ্বিতীয় trকমান্ডের পিছনে যাদু কী ?

13 টি বিন্দুগুলি কেবল দ্বিতীয় সেট থেকে প্রথম 13 টি অক্ষরে ম্যাপ করা হচ্ছে। সুতরাং

tr .............A-Z A-ZA-Z নিম্নলিখিত সেট উত্পাদন করবে:

SET1 -> .............ABCDEFGHIJKLMNOPQRSTUVXWYZ
SET2 -> ABCDEFGHIJKLMNOPQRSTUVXWYZABCDEFGHIJKLMNOPQRSTUVXWYZ

যদি আপনার ইনপুটটিতে কোনও বিন্দু না থাকে তবে আপনি প্রাথমিক ক্রমটি বাতিল করতে পারেন, যেহেতু আপনি সেই বিকল্পগুলি ব্যবহার করবেন না। তারপরে সেটগুলি হয়ে উঠবে:

SET1 -> ABCDEFGHIJKLMNOPQRSTUVXWYZ
SET2 -> NOPQRSTUVXWYZABCDEFGHIJKLMNOPQRSTUVXWYZ

তবে যেহেতু প্রথম সেটটিতে ইতিমধ্যে সমস্ত 26 টি অক্ষর রয়েছে এবং সেট 2 এর পিছনে অক্ষরটি পুনরাবৃত্তি করেছে, সেগুলি খুব বেশি ফেলে দেওয়া হয়, অবশেষে হয়ে যায়

SET1 -> ABCDEFGHIJKLMNOPQRSTUVXWYZ
SET2 -> NOPQRSTUVXWYZABCDEFGHIJKLM

যা পচা প্রতিস্থাপন এবং প্রথম কমান্ডের অনুরূপ (এখানে ছোট ছোট মামলার সাথে ডিল না করে)। প্রশ্নের শিরোনামের জন্য একই যুক্তি প্রয়োগ করা যেতে পারে:

tr ...A-Z A-ZA-Z <<< “JVPQBOV” সেট উত্পাদন করতে হবে:

SET1 -> ...ABCDEFGHIJKLMNOPQRSTUVXWYZ
SET2 -> ABCDEFGHIJKLMNOPQRSTUVXWYZABCDEFGHIJKLMNOPQRSTUVXWYZ

প্রাথমিক ক্রম এবং পিছনে পুনরাবৃত্তি অক্ষরগুলি হয়ে ওঠে:

SET1 -> ABCDEFGHIJKLMNOPQRSTUVXWYZ
SET2 -> DEFGHIJKLMNOPQRSTUVXWYZABC

যা রোট 3 প্রতিস্থাপন।

এখন দ্বিতীয় প্রশ্নের জন্য:

দ্বিতীয় কমান্ডটি প্রথম কমান্ডের মতো নিম্ন এবং উচ্চতর উভয় ক্ষেত্রে কীভাবে কাজ করবে?

এটিকে কাজ করতে আপনি শুরুতে পছন্দসই সংখ্যক বিন্দু রেখেছেন এবং আপনার পচ এবং 26 টি বিন্দুর সাথে উপরের অনুক্রম এবং নীচের অনুক্রমের সাথে মিলেছেন ঠিক ঠিক এর মতো:

tr ........A-Z..........................a-z A-ZA-Za-za-z

এটি সফলভাবে একটি সংবেদনশীল পচা তৈরি করবে। এটি কেন কাজ করে তা দেখার জন্য আসুন সেটগুলি দেখুন:

SET1 -> ........ABCDEFGHIJKLMNOPQRSTUVXWYZ..........................abcdefghijklmnopqrstuvxwyz
SET2 -> ABCDEFGHIJKLMNOPQRSTUVXWYZABCDEFGHIJKLMNOPQRSTUVXWYZabcdefghijklmnopqrstuvxwyzabcdefghijklmnopqrstuvxwyz

বিন্দু ম্যাপিং এবং লেজ অক্ষরগুলি বাদ দিয়ে:

SET1 -> ABCDEFGHIJKLMNOPQRSTUVXWYZabcdefghijklmnopqrstuvxwyz
SET2 -> IJKLMNOPQRSTUVXWYZABCDEFGHijklmnopqrstuvxwyzabcdefgh

এখন এটি উপরের এবং নিম্ন উভয় ক্ষেত্রেই কাজ করে :)

এটির কাজ করার আরেকটি উপায় হ'ল নিম্নরূপে দুটি trকমান্ড ব্যবহার করা :

tr .............A-Z A-ZA-Z <<< "ABJ V hqrefgnaq" | tr .............a-z a-za-z

বিন্দু প্রতিস্থাপন ব্যবহার করার জন্য একটি সতর্কতা @iruvar দিয়েছিল: ইনপুট স্ট্রিংটে বিন্দু থাকলে এই কমান্ডটি প্রত্যাশা অনুযায়ী কাজ করবে না। কারণ বিন্দুগুলি অন্য বর্ণগুলিতে ম্যাপ করা হচ্ছে এবং প্রতিস্থাপনটি trকরার সময় ইনপুট ডটকে শেষ ম্যাপ করা অক্ষরে পরিবর্তন করবে। তবে আপনি আসলে বিন্দু ছাড়া অন্য কোনও চরিত্র ব্যবহার করতে পারেন। সুতরাং, আপনার trকমান্ডে বিন্দু ব্যবহার করা যদি সমস্যা হয় তবে আপনি @পরিবর্তে এটি ব্যবহার করতে পারেন । এটি ঠিক যেমন সূক্ষ্মভাবে কাজ করবে:

tr @@@@@@@@@@@@@A-Z A-ZA-Z <<< "GUNAX LBH NYY..."

3
আমি নিশ্চিত না আপনি কীভাবে এই সিদ্ধান্তে পৌঁছলেন যে "বিন্দুর সংখ্যা থেকে শুরু করে অক্ষরের ক্রম দ্বারা বিন্দুগুলি প্রতিস্থাপন করা হবে"; এটি মোটেও নয়। কোন জাদু জড়িত নেই; যেমন Prvt_Yadv ব্যাখ্যা, সেখানে দুটি সেট এবং trসেট 1 থেকে ম্যাপিং 2 সেট করতে হয় সবসময়, কিন্তু এই ক্ষেত্রে আপনি অক্ষর ম্যাপ থাকেন .করতে A, এবং এছাড়াও B, এবং এছাড়াও ..., এবং এছাড়াও M। আপনার .Mtr
ইনপুটটিতে

স্পষ্টির জন্য ধন্যবাদ। আমি আমার ভুলগুলি সংশোধন করার জন্য উত্তর আপডেট করেছি :)
ফ্রেডেরিকো অলিভিয়রা

1
আমি এই প্রোগ্রামটির আচরণ নির্ধারণের জন্য বিজ্ঞানের ব্যবহারের আপনার (প্রাথমিক) প্রয়াসকে প্রশংসা করি, তবে ভবিষ্যতে আপনার যতটা সম্ভব বিভিন্ন ভিন্ন অনুমান এবং ব্যবহারের চেষ্টা করার আগে তাদের সবার মধ্যে পার্থক্য করার জন্য নকশা পরীক্ষাগুলি নিয়ে আসা উচিত । অন্যথায় আপনি বিভ্রান্ত হয়ে পড়েন, এবং আপনার মডেলটিকে বিশেষ-মামলার একদল ভর না হওয়া পর্যন্ত পরবর্তী ফলাফলগুলি ব্যাখ্যা করার জন্য আপনার মডেলটিকে ন্যূনতম-পরিবর্তন পদ্ধতিতে অভিযোজিত করুন।
wizzwizz4
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.