تا %60 تخفیف خرید برای 2 نفر با صدور مدرک فقط تا
00 00 00

آموزش دستور sed در اسکریپت نویسی لینوکس و کاربردهایش

محمد عابدینی
محمد عابدینی
2 پسند
1006 بازدید
3 نظر
42 ماه قبل

اضافه کردن جمله به اول خط و اجرا کردن آن


در این بخش می خوام با چند قابلیت مهم در مورد Sed در خدمت شما دوستان باشم، یکی از قابلیت هایی که فرمان Sed داشت جابجا کردن کاراکترهاست. فرض کنید که فایل زیر را دارید:
$cat file.txt
/etc/passwd
/etc/groups
این فایل دارای دو خط است که مسیر دو فایل مشخص کرده، حال فرض کنید که قصد داریم که فرمان ls –l را به اول این مسیرها اضافه کنید فرمان زیر را از Sed اجرا کنید:
#sed  ‘s/^/ls –l / ‘ file.txt
ls –l  /etc/passwd
ls –l   /etc/groups
حال برای اجرا کردن این فرمان باید از سویچ e استفاده کنید به صورت زیر:
#sed  ‘s/^/ls –l /e ‘ file.txt

در خروجی این فرمان خروجی فرمان ls را مشاهده می کنید.

تغییر دادن مسیر:


برای تغییر دادن مسیر به دلیل اینکه کاراکتر خودش در فرمان sed باید از کاراکتر \ برای جداسازی استفاده کنید، فرض کنید که فایلی شامل مسیر های usrlocalbin است و شما قصد دارد که مسیر آنرا به usrbin تغییر دهید برای انجام دادن این بخش از فرمان Sed به صورت زیر استفاده کنید، فرض کنید که فایلی به نام path.txt به صورت زیر ایجاد شده است:
$ vi path.txt
reading /usr/local/bin directory
حال برای اجرا کردن فرمان sed باید به صورت زیر اقدام کنید:

$ sed 's/\/usr\/local\/bin/\/usr\/bin/' path.txt
reading /usr/bin directory

قرار دادن کل خطوط یک متن در کاراکتر خاص:


در برخی از موارد لازم است که شما برای جدا کردن خطوط یک فایل آنرا در کاراکترهای خاصی قرار دهید، در این مثال هر خط را داخل دو علامت < > قرار می دهیم برای این کار باید از کاراکتر & استفاده کنید، فرض کنید که فایل دارید به صورت زیر:
#cat file.txt
101 mohamma abedini
102 mostafa asghari
103 mohammad tondro

حال برای قرار دادن همه کلمات هر خط در بین دو علامت < > از فرمان Sed به صورت زیر استقاده کنید:
$ sed 's/^.*/<&>/' file.txt

خروجی این فرمان به صورت زیر است :
#cat file.txt
<101 mohamma abedini>
<102 mostafa asghari>
<103 mohammad tondro>
حال فرض کنید که فقط قصد دارید سه کاراکتر اول یعنی اعداد را داخل [ ] قرار دهید، از فرمان Sed به صورت زیر استفاده کنید:
$ sed 's/^[0-9][0-9][0-9]/[&]/g' file.txt
خروجی این فرمان به صورت زیر است:

#cat file.txt
[101] mohamma abedini
[102] mostafa asghari
[103] mohammad tondro

حذف کردن همه تگ های یک فایل html:


شما می توانید با استفاده از فرمان Sed و فرمان داخلی g تمامی تگهای یک فایل html را حذف کنید برای این منظور از فرمان Sed به صورت زیر استفاده کنید، فرض کنید فایلی html به صورت زیر دارید:

$ vi test.html

Hello World!

حال بعد از اجرا فرمان Sed به صورت زیر این خروجی فایل تغییر بدون تگها خواهد بود:
$ sed -e 's/<[^>]*>//g' test.html
Hello World!


#دوره_آموزش_شل_اسکریپتیگ #مقدمه_ای_از_فرمان_sed #شل_اسکریپت_نویسی_در_لینوکس #دروه_آموزش_shell_scripting #اسکریپت_نویسی_bash
نظر شما
برای ارسال نظر باید وارد شوید.
3 نظر