Sed It Right: تسلط بر ویرایشگر جریان برای جادوی متن

Summarize this content to 400 words in Persian Lang
همه ما درد نحو عجیب و غریب regex را احساس می کنیم، اما هی، ما اجازه نخواهیم داد که ما را از دستیابی به عظمت باز دارد! با وجود ویژگیهای عجیب و غریبش، regex وقتی در ترکیب با آن استفاده میشود، یک نیروگاه است sed. بیایید قدرت آن را مهار کنیم!
sed وقتی شروع به استفاده از regex برای تطبیق هوشمندانهتر الگوها کنید، به یک نیروگاه واقعی تبدیل میشود. به عنوان مثال، فرض کنید می خواهید هر دنباله ای از ارقام را با کلمه ” جایگزین کنید.[number]”:
sed ‘s/[0-9]\+/[number]/g’ text.txt
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
این جایگزین هر گروهی از ارقام ([0-9]+) با “[number]Regex به شما امکان می دهد جستجوهای قدرتمند و انعطاف پذیری ایجاد کنید و به شما امکان می دهد الگوهای خاصی از متن را هدف قرار دهید، نه فقط رشته های دقیق.
7. درج و الحاق متن
آیا نیاز به درج یا الحاق خطوط به یک فایل دارید؟ sed می تواند آن را نیز انجام دهد! برای درج متن قبل از یک خط خاص، از i دستور:
sed ‘3i\This is inserted before line 3’ file.txt
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
با این کار متن “This is inserted before line 3” درست قبل از خط 3 وارد می شود. برای الحاق متن بعد از یک خط، استفاده کنید a:
sed ‘3a\This is appended after line 3’ file.txt
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
8. ترکیب کردن sed با سایر دستورات
مانند تمام دستورات قدرتمند پوسته، sed وقتی با ابزارهای دیگری مانند ترکیب شود، به زیبایی کار می کند cat، grep، یا حتی find. فرض کنید میخواهید همه فایلهای متنی را در یک فهرست پیدا کنید و در همه آنها «apple» را با «نارنجی» جایگزین کنید:
find . -name “*.txt” -exec sed -i ‘s/apple/orange/g’ {} \;
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
این دستور همه را پیدا می کند .txt فایل را در دایرکتوری فعلی و اعمال می کند sed جایگزینی برای جایگزینی “سیب” با “نارنجی” به طور مستقیم در هر فایل.
9. موارد استفاده در دنیای واقعی
sed در سناریوهای دنیای واقعی، مانند ایجاد سریع تغییرات متنی انبوه در فایلهای پیکربندی، پاکسازی خودکار گزارشها، یا آمادهسازی دادهها برای پردازش بیشتر، یک نجاتدهنده است. به عنوان مثال:
URL ها را در فایل های HTML به روز کنید: به طور کلی URL های قدیمی را با آدرس های جدید جایگزین کنید .html فایل ها:
sed -i ‘s/oldsite.com/newsite.com/g’ *.html
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
سیاهههای مربوط را تمیز کنید: ورودی های غیر ضروری گزارش را حذف کنید (به عنوان مثال، حذف خطوط “INFO” از فایل های گزارش):
sed ‘/INFO/d’ log.txt
وارد حالت تمام صفحه شوید
از حالت تمام صفحه خارج شوید
بسته بندی
sed وقتی صحبت از ویرایش استریم و دستکاری متن می شود، یک تغییر دهنده بازی است. آنقدر سریع، انعطافپذیر و قدرتمند است که میتواند همه چیز را از وظایف پیدا کردن و جایگزینی سریع گرفته تا تبدیلهای متنی پیچیده انجام دهد. هنگامی که با اصول اولیه راحت شوید، خواهید یافت sed ابزاری ضروری در جعبه ابزار پوسته خود باشید.
بعدی در شفای متنی سری، ما عمیقاً در حال غواصی هستیم awk، یک ابزار سنگین دیگر برای پردازش متن که به شما کمک می کند داده ها را به راحتی تجزیه و تحلیل و دستکاری کنید.
آیا می خواهید با دیگر دوستداران لینوکس و علاقه مندان به برنامه نویسی معاشرت کنید؟ به انجمن ما بپیوندید اختلاف نظر! ما گروهی از افراد دوستانه هستیم که عاشق کدنویسی، به اشتراک گذاشتن نکات و کمک به رشد یکدیگر هستیم. برای پیوستن به گفتگو اینجا را کلیک کنید!
همه ما درد نحو عجیب و غریب regex را احساس می کنیم، اما هی، ما اجازه نخواهیم داد که ما را از دستیابی به عظمت باز دارد! با وجود ویژگیهای عجیب و غریبش، regex وقتی در ترکیب با آن استفاده میشود، یک نیروگاه است sed
. بیایید قدرت آن را مهار کنیم!
sed
وقتی شروع به استفاده از regex برای تطبیق هوشمندانهتر الگوها کنید، به یک نیروگاه واقعی تبدیل میشود. به عنوان مثال، فرض کنید می خواهید هر دنباله ای از ارقام را با کلمه ” جایگزین کنید.[number]”:
sed 's/[0-9]\+/[number]/g' text.txt
این جایگزین هر گروهی از ارقام ([0-9]+
) با “[number]Regex به شما امکان می دهد جستجوهای قدرتمند و انعطاف پذیری ایجاد کنید و به شما امکان می دهد الگوهای خاصی از متن را هدف قرار دهید، نه فقط رشته های دقیق.
7. درج و الحاق متن
آیا نیاز به درج یا الحاق خطوط به یک فایل دارید؟ sed
می تواند آن را نیز انجام دهد! برای درج متن قبل از یک خط خاص، از i
دستور:
sed '3i\This is inserted before line 3' file.txt
با این کار متن “This is inserted before line 3” درست قبل از خط 3 وارد می شود. برای الحاق متن بعد از یک خط، استفاده کنید a
:
sed '3a\This is appended after line 3' file.txt
8. ترکیب کردن sed
با سایر دستورات
مانند تمام دستورات قدرتمند پوسته، sed
وقتی با ابزارهای دیگری مانند ترکیب شود، به زیبایی کار می کند cat
، grep
، یا حتی find
. فرض کنید میخواهید همه فایلهای متنی را در یک فهرست پیدا کنید و در همه آنها «apple» را با «نارنجی» جایگزین کنید:
find . -name "*.txt" -exec sed -i 's/apple/orange/g' {} \;
این دستور همه را پیدا می کند .txt
فایل را در دایرکتوری فعلی و اعمال می کند sed
جایگزینی برای جایگزینی “سیب” با “نارنجی” به طور مستقیم در هر فایل.
9. موارد استفاده در دنیای واقعی
sed
در سناریوهای دنیای واقعی، مانند ایجاد سریع تغییرات متنی انبوه در فایلهای پیکربندی، پاکسازی خودکار گزارشها، یا آمادهسازی دادهها برای پردازش بیشتر، یک نجاتدهنده است. به عنوان مثال:
-
URL ها را در فایل های HTML به روز کنید: به طور کلی URL های قدیمی را با آدرس های جدید جایگزین کنید
.html
فایل ها:
sed -i 's/oldsite.com/newsite.com/g' *.html
- سیاهههای مربوط را تمیز کنید: ورودی های غیر ضروری گزارش را حذف کنید (به عنوان مثال، حذف خطوط “INFO” از فایل های گزارش):
sed '/INFO/d' log.txt
بسته بندی
sed
وقتی صحبت از ویرایش استریم و دستکاری متن می شود، یک تغییر دهنده بازی است. آنقدر سریع، انعطافپذیر و قدرتمند است که میتواند همه چیز را از وظایف پیدا کردن و جایگزینی سریع گرفته تا تبدیلهای متنی پیچیده انجام دهد. هنگامی که با اصول اولیه راحت شوید، خواهید یافت sed
ابزاری ضروری در جعبه ابزار پوسته خود باشید.
بعدی در شفای متنی سری، ما عمیقاً در حال غواصی هستیم awk
، یک ابزار سنگین دیگر برای پردازش متن که به شما کمک می کند داده ها را به راحتی تجزیه و تحلیل و دستکاری کنید.
آیا می خواهید با دیگر دوستداران لینوکس و علاقه مندان به برنامه نویسی معاشرت کنید؟ به انجمن ما بپیوندید اختلاف نظر! ما گروهی از افراد دوستانه هستیم که عاشق کدنویسی، به اشتراک گذاشتن نکات و کمک به رشد یکدیگر هستیم. برای پیوستن به گفتگو اینجا را کلیک کنید!