انڈروئد

مثال کے ساتھ لینکس میں Tr کمانڈ

سوا - غابة المعمورة تواجه خطر الاندثار

سوا - غابة المعمورة تواجه خطر الاندثار

فہرست کا خانہ:

Anonim

tr لینکس اور یونکس سسٹم میں ایک کمانڈ لائن افادیت ہے جو معیاری ان پٹ سے حروف کا ترجمہ ، حذف اور نچوڑ لیتی ہے اور اس کا نتیجہ معیاری آؤٹ پٹ پر لکھ دیتی ہے۔

tr کمانڈ آپریشن انجام دے سکتی ہے جیسے بار بار حرفوں کو ہٹانا ، بڑے حرف کو چھوٹے کی طرف تبدیل کرنا ، اور بنیادی کردار کی جگہ لینے اور اسے حذف کرنا۔ عام طور پر ، یہ پائپنگ کے ذریعے دوسرے کمانڈوں کے ساتھ مل کر استعمال ہوتا ہے۔

اس ٹیوٹوریل میں ، ہم آپ کو عملی مثالوں اور انتہائی عام اختیارات کی تفصیلی وضاحت کے ذریعہ کس طرح tr کمانڈ کو استعمال کرنے کا طریقہ دکھائیں گے۔

کس طرح tr کمانڈ استعمال کریں

ٹی آر کمانڈ کا نحو ذیل میں ہے۔

tr OPTION… SET1

tr حروف کے دو سیٹ قبول کرتا ہے ، عام طور پر ایک ہی لمبائی کے ساتھ ، اور پہلے سیٹ کے حروف کو دوسرے سیٹ سے متعلقہ حرفوں کی جگہ لے لیتا ہے۔

ایک SET بنیادی طور پر حروف کی ایک تار ہوتی ہے ، جس میں خصوصی بیک سلیش سے بچ جانے والے کردار شامل ہیں۔

مندرجہ ذیل مثال میں ، tr دوسرے سیٹ سے مماثل افراد کے ساتھ پہلے سیٹ سے حروف کی نقشہ سازی کرکے ، معیاری ان پٹ (لینکسائز) سے تمام حروف کی جگہ لے لے گا۔

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

l ہر واقعے کی جگہ r ، i ساتھ e ، اور n ساتھ d جگہ لی گئی ہے i

reduxeze

کردار کی حدود کا استعمال کرتے ہوئے کیریکٹر سیٹ کی بھی تعریف کی جاسکتی ہے۔ مثال کے طور پر ، لکھنے کے بجائے:

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

آپ استعمال کر سکتے ہیں:

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

جب -c (- --complement ) آپشن استعمال ہوتا ہے تو ، tr ان تمام حروف کی جگہ لے لیتا ہے جو SET1 میں نہیں ہیں۔

مثال کے طور پر ذیل میں "لی" کے علاوہ تمام حروف کو دوسرے سیٹ سے آخری حرف کے ساتھ تبدیل کیا جائے گا:

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

liyyyiyyy

جیسا کہ آپ نے محسوس کیا ہوگا ، اوپر آؤٹ پٹ میں ان پٹ کے مقابلے میں ایک اور نمایاں کردار ہے۔ اس کی وجہ یہ ہے کہ echo کمانڈ ایک پوشیدہ نئے لائن حرف پرنٹ کرتا ہے that جو y ساتھ بھی بدل جاتا ہے۔ کسی نئی لائن کے بغیر تار کی بازگشت کے ل the ، -n آپشن کا استعمال کریں۔

-d ( --delete ) آپشن tr کو SET1 میں بیان کردہ حروف کو حذف کرنے کے لئے بتاتا ہے۔ جب نچوڑ کے حروف کو حذف کرتے وقت ، صرف ایک سیٹ کی وضاحت کریں۔

نیچے دی گئی کمانڈ l ، i اور z حروف کو حذف کرے گی i

echo 'Linuxize' | tr -d 'liz'

L کیریکٹر کو حذف نہیں کیا گیا ہے کیونکہ ان پٹ میں اپر کیس L شامل ہوتا ہے جبکہ ایس ای ٹی میں l کردار لوئر کیسس ہوتا ہے۔

Lnuxe

-s ( --squeeze-repeats ) آپشن آخری بار SET میں مرتب کردہ کردار کے ساتھ بار بار پیش آنے والے سلسلے کی جگہ لے لیتا ہے۔

مندرجہ ذیل مثال میں ، tr بار بار اسپیس tr کو ہٹا دیتی ہے۔

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

GNU \ Linux

جب SET2 استعمال کیا جاتا ہے تو SET1 میں بیان کردہ کردار کی ترتیب SET2 سے بدل دی جاتی ہے۔

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

GNU_\_Linux

-t ( --truncate-set1 ) آپشن آگے بڑھنے پر عمل کرنے سے پہلے SET1 کی طوالت SET1 کو چھوٹنے پر مجبور کرتا ہے۔

پہلے سے طے شدہ طور پر ، اگر SET1 SET2 سے بڑا ہے TT SET2 کے آخری کردار کو دوبارہ استعمال کرے گا۔ یہاں ایک مثال یہ ہے:

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

آؤٹ پٹ سے پتہ چلتا ہے کہ SET1 کا حرف e SET2 کے تازہ ترین کردار کے ساتھ مماثل ہے ، جو 2 :

Linux iz2

اب وہی کمانڈ -t آپشن کے ساتھ استعمال کریں۔

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

Linux ize

آپ دیکھ سکتے ہیں کہ SET1 کے آخری تین حروف ہٹ گئے ہیں۔ SET1 'ab' بن جاتا ہے ، جس کی لمبائی 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 کا مطلب ہے ، اور -c آپشن کا استعمال کرکے ، کمانڈ تمام غیر ہندسے والے حروف کو ہٹا دیتا ہے۔ آؤٹ پٹ اس طرح نظر آئے گی:

1234567890

ہر لفظ کو ایک نئی لائن میں ڈالیں

ہر لفظ کو ایک نئی لائن میں ڈالنے کے ل we ، ہمیں تمام غیر حرفی حروف سے ملنے اور ان کی جگہ ایک نئی لائن لگانے کی ضرورت ہے۔

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

GNU is an operating system

خالی لکیریں ہٹائیں

خالی لائنوں کو حذف کرنے کے ل new بار بار دہرایا جانے والے نئ لائن حرفوں کو نچوڑ لیں:

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

مندرجہ بالا کمانڈ میں ہم redirection کی علامت < کو file.txt مواد کو tr کمانڈ پر منتقل کرنے کے لئے استعمال کررہے ہیں۔ ری ڈائریکشن > کمانڈ کا آؤٹ پٹ new_file.txt ۔

separate $PATH ڈائریکٹریوں کو الگ لائن پر پرنٹ کریں

$PATH ماحولیاتی متغیر ڈائریکٹریوں کی بڑی آنت سے خارج شدہ فہرست ہے جو شیل کو بتاتی ہے کہ جب آپ کمانڈ ٹائپ کرتے ہو تو کونسی ڈائرکٹری کو عمل درآمد فائلوں کی تلاش کرے۔

ہر ڈائریکٹری کو ایک علیحدہ لائن پر پرنٹ کرنے کے ل we ہمیں کولن (:) سے ملنے اور اسے نئی لائن سے تبدیل کرنے کی ضرورت ہے۔

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

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

نتیجہ اخذ کرنا

tr حروف کو ترجمہ کرنے یا حذف کرنے کا کمانڈ ہے۔

اگرچہ بہت مفید ہے ، tr صرف ایک حرف کے ساتھ کام کرسکتا ہے۔ زیادہ پیچیدہ پیٹرن مماثلت اور سٹرنگ ہیرا پھیری کے awk you ، آپ کو sed یا awk استعمال کرنا چاہئے۔

tr ٹرمینل