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

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

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

خلاصه »
« فصل ۷ - دستورات شرطی

تمرین ها

اینها چند مثال عملی برای آن می‌باشند که awk می‌تواند سودمند باشد.

  1. برای اولین تمرین، ورودی شما به شکل زیر می‌باشد:

    Username:Firstname:Lastname:Telephone number

    یک اسکریپت awk ایجاد کنید که چنین سطری را به یک رکورد LDAP به این شکل تبدیل کند:

    dn: uid=Username, dc=example, dc=com
    cn: Firstname Lastname
    sn: Lastname
    telephoneNumber: Telephone number
    

    یک فایل حاوی یک جفت بررسی و کنترل رکوردها، ایجاد کنید.

  2. با استفاده از awk و دستورات استاندارد یونیکس، یک اسکریپت Bash ایجاد کنید که سه کاربری که بیشترین فضای دیسک فایل سیستم ‎ /home‎ را استفاده می‌کنند( اگر پارتیشن جداگانه‌ای براین نگهداری دایرکتوری home ندارید، اسکریپت را برای پارتیشن / ایجاد کنید، این پارتیشن در هر سیستم یونیکس موجود است)، نشان دهد. اول، فرمان‌ها را از طریق خط‌فرمان اجرا کنید. بعد آنها را در یک اسکریپت قرار دهید. خروجی اسکریپت باید مشهود(مشهود به معنی قابل خواندن توسط کارفرما) باشد. اگر همه چیز بیانگر کارکرد آنست، اسکریپت باید نتایجش را به شما (به طور نمونه با استفاده از چنین دستوری
    ‎ mail -s Disk space usage <you@your_comp> < result‎) ایمیل کند.

    اگر برنامه سهمیه‌بندی(quota daemon) در حال اجرا می‌باشد، از اطلاعات آن استفاده کنید، وگرنه، از find استفاده کنید.

  3. یک خروجی XMLمانند از یک لیست با جداکننده Tabکه به شکل زیر است، ایجاد کنید:

    Meaning very long line with a lot of description
     
    meaning another long line
     
    othermeaning    more longline
     
    testmeaning     looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong line,
     but i mean really looooooooooooooooooooooooooooooooooooooooooooooooooong.
     
    

    خروجی باید این طور خوانده شود:

    <row>
    <entry>Meaning</entry>
    <entry>
    very long line
    </entry>
    </row>
    <row>
    <entry>meaning</entry>
    <entry>
    long line
    </entry>
    </row>
    <row>
    <entryothermeaning</entry>
    <entry>
    more longline
    </entry>
    </row>
    <row>
    <entrytestmeaning</entry>
    <entry>
    looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong line, but i mean really looooooooooooooooooooooooooooooooooooooooooooooooooong.
    </entry>
    </row>
    

    علاوه براین، اگر چیزی در مورد XML نمی‌دانید, یک اسکریپت BEGIN و END برای کامل کردن جدول بنویسید. یا آنرا در HTML بنویسید.

خلاصه »
« فصل ۷ - دستورات شرطی
ترجمه محمود پهلوانی