tr (مخفف translate) یک دستور مفید خط فرمان است که کاراکترها را از ورودی stdin ترجمه و یا حذف می کند و به stdout می نویسد. این یک برنامه مفید برای دستکاری متن در خط فرمان است. در این مقاله ، برخی از مثالهای مفید دستور tr را برای آماتور ها در لینوکس توضیح خواهیم داد.
نحو اجرای دستور 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. shetaban. com www. shetabanhost. com www. blog.shetabanhost. com
cat domains.txt | tr -d '' www.shetaban.com www.shetabanhost.com www.blog.shetabanhost.com
۶- اگر در متنی که در حال پردازش هستید ، یک کاراکتر مکرر در یک دنباله (به عنوان مثال فاصله های دوتایی) وجود دارد ، می توانید با استفاده از گزینه -s کاراکترها را حذف کنید و فقط یک مورد از آنها برجای بگذارد.
cat domains.txt www.shetaban.....com www.shetabanhost.com www.blog.shetabanhost.com
cat domains.txt | tr -s '' www.shetaban.com www.shetabanhost.com www.blog.shetabanhost.com
۷- گزینه -c به tr می گوید که از مکمل موجود در SET استفاده کند. در این مثال ، ما می خواهیم همه حروف را حذف کنیم و فقط UID را به جا بگذاریم:
cho "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 ۱۰۰۰
۹- مربوط به مثال قبلی ، شما همچنین می توانید چندین خط کلمه را به صورت یک جمله ترجمه کنید همانطور که نشان داده شده است:
cat uid.txt My UID is ۱۰۰۰ $ tr "\n" " " < uid.txt My UID is 1000
۱۰- همچنین می توان فقط یک کاراکتر را ترجمه کرد ، به عنوان مثال یک فضا را به یک شخصیت “:” ، به شرح زیر:
echo "shetabanhost.com =>Linux-HowTos,Guides,Tutorials" | tr " " ":" Tecmint.com:=>Linux-HowTos,Guides,Tutorials
چندین شخصیت دنباله وجود دارد که می توانید با tr از آن ها استفاده کنید ، برای اطلاعات بیشتر به صفحه tr man مراجعه کنید.
man tr
دستور tr یک دستور مفید برای ویرایش متن در خط فرمان است. در این راهنما ، برخی از مثالهای مفید استفاده از دستور tr برای آماتور ها در Linux نشان داده شده است. می توانید نظرات خود را از طریق فرم نظرات زیر با ما در میان بگذارید.
امیدوارم این مقاله براتون مفید بوده باشه.
ما رو تو شتابان هاست دنبال کنید.