سیستم عامل لینوکسمقالات وب

10 مورد از نمونه دستورهای Tr در لینوکس که باید بدانید

همانطور که می دانید Tr( که  کوتاه شده عبارت Translate است) یک ابزار خط فرمان مفید است که می تواند کاراکترها را از ورودی stdin ترجمه یا پاک نماید و آن ها را بر روی stdout بنویسد.  این یک برنامه کاربردی برای دستکاری متون در خط فرمان است. در این مقاله سعی می کنیم برخی از نمونه های کاربردی این دستور را برای کاربران مبتدی لینوکس بیان کنیم. پس همراه وب ایده باشید.

سینتکس دستور tr به صورت زیر است که در آن کاراکترها در SET1 به کاراکترهای SET2 ترجمه می شوند.

$ tr flags [SET1] [SET2]

 

نمونه دستورات tr در لینوکس:

یکی از نمونه های ساده این دستور برای تغییر حروف نوشته شده کوچک در متن به حروف انگلیسی بزرگ و برعکس است. به دستور زیر توجه کنید:

$ cat linux.txt



linux is my life

linux has changed my life

linux is best and everthing to me..:)

$ cat domains.txt | tr [:lower:] [:upper:]



LINUX IS MY LIFE

LINUX HAS CHANGED MY LIFE

LINUX IS BEST AND EVERTHING TO ME..:)

 

شما می توانید از دستور زیر برای تغییر همه حروغ کوچک به حروف بزرگ در فایل استفاده کنید:

$ cat linux.txt | tr [a-z] [A-Z]



LINUX IS MY LIFE

LINUX HAS CHANGED MY LIFE

LINUX IS BEST AND EVERTHING TO ME..:)

 

برای ذخیره کردن نتایج نوشته شده در فایل stdout  برای پردازش های بعدی می توانید از دستوراتی شبیه دستور زیر استفاده کنید:

$ cat linux.txt | tr [a-z] [A-Z] >output.txt

$ cat output.txt



LINUX IS MY LIFE

LINUX HAS CHANGED MY LIFE

LINUX IS BEST AND EVERTHING TO ME..:)

 

در مورد ریدایرکت کردن می توانید ورودی را به کمک ریدایرکت ورودی به tr ارسال کنید و خروجی را به کمک همین دستور به فایل بفرستید:

$ tr [a-z] [A-Z] < linux.txt >output.txt

 

یکی دیگر از قابلیت های کاربردی این دستور این است که می توانید از فلگ -d برای پاک کردن کاراکترها استفاده کنید. مثلا برای حذف اسپیس ها در نام دامنه می توانید از دستور زیر کمک بگیرید:

$ cat domains.txt



www. tecmint. com

www. fossmint. com

www. linuxsay. com

$ cat domains.txt | tr -d ''



www.tecmint.com

www.fossmint.com

www.linuxsay.com

 

اگر در یک بخش از متن کاراکترهای تکراری وجود دارد ، می توانید از فلگ -s برای فشرده سازی کاراکترها استفاده کنید و تنها یک کاراکتر را نمایش دهید:

$ cat domains.txt



www.tecmint.....com

www.fossmint.com

www.linuxsay.com

$ cat domains.txt | tr -s ''



www.tecmint.com

www.fossmint.com

www.linuxsay.com

 

دستور زیر بیان می کند که همه حروف باید پاک شوند و تنها UID باقی بماند. برای اینکار از گزینه -c استفاده می شود:

$ echo "My UID is $UID" | tr -cd "[:digit:]\n"

OR

$ echo "My UID is $UID" | tr -d "a-zA-Z"

 

در مثال زیر یک خط واحد از کلمات را به خطوط مختلف تبدیل می کنیم.

$ echo "My UID is $UID"



My UID is 1000



$ echo "My UID is $UID" | tr " "  "\n"



My

UID

is

1000

 

این گزینه به مثال قبلی مان مربوط است. شما می توانید خطوط متعددی از کلمات را به یک جمله واحد تبدیل کنید. برای اینکار از دستوری شبیه دستور زیر کمک بگیرید:

$ cat uid.txt



My

UID

is

1000



$ tr "\n" " " < uid.txt



My UID is 1000

 

همچنین می توانید به کمک این دستور یک کاراکتر واحد را به کاراکتر دیگری تبدیل کنید. به مثال زیر توجه نمایید:

$ echo "Webide.ir=>Linux-HowTos,Guides,Tutorials" | tr " " ":"

 

webide.ir:=>Linux-HowTos,Guides,Tutorials

 

موارد متعددی را می توانید به همراه tr مورد استفاده قرار دهید. برای اینکه بتوانید از این گزینه ها اطلاع یابید از دستور زیر استفاده کنید:

$ man tr

خوب کار ما تمام شد. همانطور که مشاهده کردید دستور tr یکی از دستورات بسیار کاربردی در لینوکس است. شما هم اگر تجربه کار با این دستور را دارید در بخش دیدگاه ها از تجربیات خود صحبت کنید.

Rate this post
برچسب ها

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بستن