دستورات tr و fmt که مخفف ترجمه و فرمت هستند، دو مورد از مهمترین دستورات دستکاری متن در لینوکس هستند.
لینوکس دستکاری و پردازش متن را با دستورات بسیار آسان می کند. ابزارهای خط فرمان مانند tr و fmt به شما کمک میکنند فایلهای متنی را مستقیماً از ترمینال خود تغییر، قالببندی و تغییر دهید.
در این مقاله به نحوه استفاده از دستورات tr و fmt برای قالب بندی متن در موارد استفاده مختلف می پردازیم. بنابراین tr و fmt چیست؟ و چگونه از آنها استفاده می کنید؟
فرمان tr چیست؟
دستور tr مخفف کلمه، translate است و به کاربر کمک می کند تا کاراکترهای خاصی را در یک فایل متنی حذف یا جایگزین کند. معمولاً در کنار سایر دستورات استفاده می شود و با گرفتن ورودی استاندارد، انجام عملیات روی آن و نوشتن نتیجه در خروجی استاندارد کار می کند.
نحو دستور tr
نحو اصلی دستور tr به صورت زیر است:
tr [option]... SET1 [SET2]
مجموعه ها رشته هایی از کاراکترها و برخی دنباله های تفسیر شده هستند که ترمینال به طور خودکار آنها را تشخیص می دهد. برخی از آنها عبارتند از:
\\ Backslash
\b Backspace
\t Horizontal tab
\v Vertical tab
[:alnum:]All letters and digits
[:alpha:]All letters
[:blank:]Horizontal whitespaces
[:digit:]All digits
[:lower:]All lowercase characters
[:punct:]All punctuation characters
[:space:]Horizontal or vertical whitespace characters
[:upper:]All uppercase letters
نحوه استفاده از دستور tr
می توانید از دستور tr برای تغییر حروف یک فایل متنی، حذف اعداد، جایگزینی فاصله ها با تب ها و حتی قرار دادن هر کلمه در یک خط جدید استفاده کنید. امکانات دستور tr بسیار گسترده است و اگر بدانید چگونه از آن استفاده کنید، می توانید به چیزهای زیادی دست پیدا کنید.
برای این مثال، یک فایل متنی ایجاد کنید: muo.txt. محتوای فایل این خواهد بود:
MakeUseOf. Technology, Simplified! 1234
جایگزینی کاراکترها با استفاده از دستور tr
برای این کار، کاراکترهایی را که می خواهید جایگزین کنید و با چه چیزی جایگزین می کنید، مشخص کنید. به عنوان مثال، اگر می خواهید اولین کاراکترهای هر کلمه را با ABCD جایگزین کنید، این دستور را اجرا کنید:
cat muo.txt | tr MTS1 ABCD
از دستور cat استفاده می شود
نمایش محتویات یک فایل
.
نتیجه:
AakeUseOf. Bechnology, Cimplified! D234
یک متن را از حروف کوچک به بزرگ تغییر دهید
برای انجام این کار، یکی از دستورات زیر را اجرا کنید:
cat muo.txt | tr a-z A-Z
cat muo.txt | tr [:lower:] [:upper:]
نتیجه:
MAKEUSEOF. TECHNOLOGY, SIMPLIFIED! 1234
یک متن را از حروف بزرگ به حروف کوچک تغییر دهید
برای انجام این کار، یکی از دستورات زیر را اجرا کنید:
cat muo.txt | tr A-Z a-z
cat muo.txt | tr [:upper:] [:lower:]
نتیجه:
makeuseof. technology, simplified! 1234
Spaces را با Tab ها جایگزین کنید
برای جایگزینی تمام فضاها با تب ها، این دستور را اجرا کنید:
cat muo.txt | tr [:space:] '\t'
نتیجه:
MakeUseOf. Technology, Simplified! 1234
از طرف دیگر، اگر می خواهید فاصله ها را با کاراکتر خط جدید جایگزین کنید – برای چاپ هر کلمه در یک خط جداگانه – “\t” را با “\n” جایگزین کنید.
حذف کاراکترها با استفاده از دستور tr
برای حذف کاراکترها از گزینه -d در کنار دستور tr استفاده کنید. به عنوان مثال، اگر می خواهید حرف “e” را از هر کلمه در فایل muo.txt حذف کنید، این دستور را اجرا کنید:
cat muo.txt | tr -d 'e'
نتیجه:
MakUsOf. Tchnology, Simplifid! 1234
تمام نمادهای نقطه گذاری را حذف کنید
اگر میخواهید تمام علامتهای نقطهگذاری یک فایل را بدون تعیین نماد حذف کنید، از گزینه -d در کنار دنباله تفسیر شده استفاده کنید، [:punct:]:
cat muo.txt | tr -d [:punct:]
نتیجه:
MakeUseOf Technology Simplified 1234
حذف تمام ارقام با استفاده از tr
برای حذف تمام ارقام یک فایل متنی، این دستور را اجرا کنید:
cat muo.txt | tr -d [:digit:]
نتیجه:
MakeUseOf. Technology, Simplified!
با استفاده از گزینه tr Complement
دستور tr با گزینه -c همراه است که اساساً خلاف عملیات اصلی را انجام می دهد. بیایید از دستور قبلی به عنوان مثال استفاده کنیم. اگر گزینه مکمل را به این دستور اضافه کنید، تمام کاراکترهایی که رقم نیستند را حذف می کند. نگاهی بیاندازید:
cat muo.txt | tr -cd [:digit:]
نتیجه:
1234
فرمان fmt چیست؟
دستور fmt یک ابزار قالب بندی متن ساده است که می توانید از آن برای چاپ و پردازش متن در لینوکس استفاده کنید. همچنین می توانید از دستور برای قالب بندی پاسخ های ایمیل استفاده کنید.
برای دریافت راهنمایی خط فرمان در مورد دستور fmt، صفحه دستی آن را با اجرای زیر بررسی کنید:
man fmt
دستور fmt نحو
سینتکس اصلی دستور fmt این است:
fmt [-WIDTH] [OPTION] [FILE]
نحوه استفاده از دستور fmt
برای این مثال، یک فایل به نام file.txt ایجاد کنید و متن زیر را اضافه کنید:
Technology, Simplified
We're tech enthusiasts on a mission to teach the world how to use and understand the tech in their lives.
با استفاده از دستور Default fmt
دستور fmt پیشفرض متن را بهینه میکند و آن را با فرمت خواناتر چاپ میکند. عرض پیش فرض دستور fmt 75 ستون است. این دستور را اجرا کنید تا عملیات پیش فرض fmt را امتحان کنید:
fmt file.txt
نتیجه:
Technology, Simplified We're tech enthusiasts on a mission to teach the
world how to use and understand the tech in their lives.
عرض یک متن را تغییر دهید
برای تغییر عرض فایل از گزینه -w استفاده می کنید. نحو به این صورت است:
fmt -w N filename
برای تغییر عرض فایل به 20 ستون، این دستور را اجرا کنید:
fmt -w 20 file.txt
نتیجه:
Technology,
Simplified We're
tech enthusiasts on
a mission to teach
the world how to
use and understand
the tech in their
lives.
تقسیم خطوط طولانی متن
برای تقسیم خطوط طولانی، از گزینه -s استفاده کنید. آن را امتحان کنید:
fmt -s file.txt
نتیجه:
Technology, Simplified
We're tech enthusiasts on a mission to teach the world how to use and
understand the tech in their lives.
سطر اول هر پاراگراف را تورفتگی کنید
برای برجسته کردن خط اول هر پاراگراف با تورفتگی آن، از گزینه -t استفاده کنید. این نحو است:
fmt -t filename.
بیایید آن را امتحان کنیم:
fmt -t file.txt
نتیجه:
Technology, Simplified
We're tech enthusiasts on a mission to teach the world how to use and
understand the tech in their lives.
tr و fmt: دستورات مفید دستکاری متن
tr و fmt قالببندی و پردازش متن را با عملیات متفاوتی که ارائه میدهند آسان و خودکار میکنند. لینوکس و سایر سیستمعاملهای مبتنی بر یونیکس تعداد زیادی دستورات دستکاری متن را برای هر نیاز قالببندی متن شما ارائه میدهند. شما فقط باید بدانید که آنها چیست و چگونه از آنها استفاده کنید.