راهنمای آموزشی اسکریپت نویسی - مقدماتی

لطفا برای بهتر دیدن صفحه از firefox استفاده کنید
Bash Guide for Beginners Machtelt Garrels

راهنمای Bash برای نوآموزان

ویرایش محاوره‌ای »
« خلاصه

ویرایش غیر محاوره‌ای

خواندن دستورات sed از یک فایل

دستورات چندگاته sed می‌توانند در یک فایل قرار داده شده و با استفاده از گزینه f- اجرا شوند. موقع ایجاد چنین فایلی، مطمين شوید که:

  • هیچ فضای سفیدی در انتهای سطرهانباشد.

  • نقل‌قول‌ها استفاده نشده باشند.

  • وقتی متنی را برای افزودن یا جایگزینی وارد می‌کنید، همگی غیر از سطر آخر به کاراکتر \ ختم شوند.

نوشتن فایل‌های خروجی

نوشتن خروجی با استفاده از عملگر تغییر مسیر خروجی‎>‎ انجام می‌شود. این یک اسکریپت نمونه برای ایجاد فایل‌های خیلی ساده HTML از فایل‌های متنی است.

sandy ~> cat script.sed
1i\
<html>\
<head><title>sed generated html</title></head>\
<body bgcolor="#ffffff">\
<pre>
$a\
</pre>\
</body>\
</html>

sandy ~> cat txt2html.sh
#!/bin/bash

# This is a simple script that you can use for converting text into HTML.
# First we take out all newline characters, so that the appending only happens
# once, then we replace the newlines.

echo "converting $1..."

SCRIPT="/home/sandy/scripts/script.sed"
NAME="$1"
TEMPFILE="/var/tmp/sed.$PID.tmp"
sed "s/\n/^M/" $1 | sed -f $SCRIPT | sed "s/^M/\n/" > $TEMPFILE
mv $TEMPFILE $NAME

echo "done."

sandy ~>

‎$1‎ اولین شناسه یک دستور وارد شده را نگاه می‌دارد، در این حالت نام فایلی که باید تبدیل شود:

sandy ~> cat test
line1
line2
line3

مطالب بیشتر در مورد پارامترهای موضعی در فصل 7، دستورات شرطی.

sandy ~> txt2html.sh test
converting test...
done.

sandy ~> cat test
<html>
<head><title>sed generated html</title></head>
<body bgcolor="#ffffff">
<pre>
line1
line2
line3
</pre>
</body>
</html>

sandy ~>

در واقع این چگونگی انجام آن نیست، این مثال فقط توانایی‌های sed نمایش می‌دهد. بخشی به نام «متغیرهایGawk» برای راه حل‌های آراسته‌تر این مسئله ملاحظه کنید، کاربرد ساختار BEGIN و END برنامه awk.

[Note] سهولت sed

ویرایشگرهای پیشرفته، پشتیبان نمایان سازی دستور زبان، می‌توانند دستور زبان sed را تشخیص بدهند. اگر شما کاراکترهای \ و مشابه آن را فراموش می‌کنید، این می‌تواند کمک خوبی باشد.


ویرایش محاوره‌ای »
« خلاصه
ترجمه محمود پهلوانی