وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش جایگزینی یک کاراکتر با شخصیت دیگر – Bash

0 3
زمان لازم برای مطالعه: 3 دقیقه


در Bash Scripting، جایگزین کردن یک کاراکتر با یک کاراکتر دیگر در یک رشته معمول است، زیرا این می تواند برای پردازش داده، دستکاری متن و بسیاری موارد استفاده دیگر مفید باشد. خوشبختانه، Bash چندین روش داخلی برای انجام این کار ارائه می‌کند و در این مقاله، برخی از رایج‌ترین روش‌های جایگزینی کاراکترها در یک Bash Script را پوشش می‌دهیم.

روش جایگزینی یک کاراکتر با شخصیت دیگر در اسکریپت Bash

جایگزین کردن یک کاراکتر با کاراکتر دیگر یک کار رایج در Sash Scripting است و می تواند در بسیاری از سناریوهای مختلف مفید باشد. در اینجا سه ​​راه آسان برای جایگزینی یک کاراکتر با شخصیت دیگر در اسکریپت Bash آمده است:

روش جایگزینی یک کاراکتر با دیگری با استفاده از دستور tr در Bash

دستور tr ابزاری ساده برای ترجمه، حذف یا فشردن کاراکترهای یک رشته است. می توان از آن برای جایگزینی یک کاراکتر با کاراکتر دیگر با تعیین کاراکترهای جایگزین و جایگزینی آنها استفاده کرد، در اینجا نحو استفاده از این دستور آمده است:

tr “<شخصیتی که باید جایگزین شود>“

در اینجا برای توضیح اگر رشته‌ای را انتخاب کرده‌ام که “Hello Linux” است و اگر بخواهم حرف L را با حرف بزرگ W جایگزین کنم، می‌توان با استفاده از دستور tr این کار را انجام داد:

اکو “سلام لینوکس” | tr ‘L’ ‘W’

در اینجا کد bash کامل وجود دارد که روش استفاده از دستور tr را برای جایگزینی یک کاراکتر با کاراکتر دیگر نشان می دهد:

#!/bin/bash

پیشنهاد می‌کنیم بخوانید:  روش رد شدن از خط اول یک فایل با استفاده از «awk».

رشته_اصلی=“سلام لینوکس”

صادرات رشته_جدید=$(اکو $Main_string | tr ‘L’ ‘w’)

اکو “رشته_اصلی:” $Main_string

اکو “رشته_تغییر شده:” $New_string

در اینجا خروجی اسکریپت Bash است، L با w جایگزین شده است:

روش جایگزینی یک کاراکتر با شخصیت دیگر - Bash

روش جایگزینی یک کاراکتر با دیگری با استفاده از دستور sed در Bash

راه دیگر برای جایگزینی یک کاراکتر با کاراکتر دیگر در Bash استفاده از دستور sed است. دستور sed یک ویرایشگر جریان است که می تواند عملیات مختلفی را انجام دهد روی یک رشته، از جمله جایگزینی. در اینجا نحو استفاده از این دستور برای جایگزینی یک کاراکتر با کاراکتر دیگر آمده است:

sed ‘s///g’

در اینجا برای مثال، اگر رشته‌ای را انتخاب کرده باشم که “Hello Linux” است و بخواهم حرف کوچک “L” را با “w” جایگزین کنم، می توان با استفاده از دستور tr این کار را انجام داد:

اکو “سلام لینوکس” | sed ‘s/L/w/g’

در اینجا کد bash کامل وجود دارد که روش استفاده از دستور sed را برای جایگزینی یک کاراکتر با کاراکتر دیگر نشان می دهد:

#!/bin/bash

رشته_اصلی=“سلام لینوکس”

رشته_جدید=$(اکو $Main_string | sed ‘s/L/w/g’)

اکو “رشته_اصلی:” $Main_string

اکو “رشته_تغییر شده:” $New_string

در این مثال، ما از دستور echo برای خروجی رشته “hello Linux” استفاده می کنیم و سپس خروجی را به دستور sed لوله می کنیم. دستور sed از دستور جایگزینی (s) برای جایگزینی همه موارد حرف “L” با حرف “w” استفاده می کند. گزینه g در انتهای دستور به sed می‌گوید که همه رخدادهای کاراکتر در رشته را جایگزین کند، نه فقط اولین رخداد. خروجی این دستور “hello winux” خواهد بود:

پیشنهاد می‌کنیم بخوانید:  ایجاد حلقه بی نهایت Bash با اسکریپت های مثال

روش جایگزینی یک کاراکتر با شخصیت دیگر - Bashروش جایگزینی یک کاراکتر با شخصیت دیگر - Bash

روش جایگزینی یک کاراکتر با دیگری با استفاده از بسط پارامتر در Bash

راه دیگری برای جایگزینی یک کاراکتر با کاراکتر دیگری در bash، می‌توانید با استفاده از یک بسط پارامتر و در اینجا مثالی وجود دارد که جایگزین «L» از رشته اصلی، کاراکتر جدید «w» خواهد شد:

#!/bin/bash

رشته_اصلی=“سلام لینوکس”

رشته_جدید=${Main_string//L/w}

اکو “رشته_اصلی:” $Main_string

اکو “رشته_تغییر شده:” $New_string

در این مثال، ما از بسط پارامتر برای جایگزینی تمام رخدادهای حرف کوچک “h” با حرف “s” در متغیر Main_string استفاده می کنیم. خروجی این دستور “hello winux” خواهد بود:

روش جایگزینی یک کاراکتر با شخصیت دیگر - Bashروش جایگزینی یک کاراکتر با شخصیت دیگر - Bash

نتیجه

راه های مختلفی برای جایگزینی یک کاراکتر با کاراکتر دیگر در Bash وجود دارد، از جمله استفاده از دستور tr، دستور sed و بسط پارامتر. هر روش مزایا و معایب خاص خود را دارد، بنابراین روشی را انتخاب کنید که برای مورد استفاده خاص شما بهترین کار را دارد زیرا این راهنما هر سه روش را برای انجام آن ارائه می دهد.

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-29 04:39:04

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید