اینها چند مثال عملی برای آن میباشند که awk میتواند سودمند باشد.
برای اولین تمرین، ورودی شما به شکل زیر میباشد:
Username:Firstname:Lastname:Telephone number
یک اسکریپت awk ایجاد کنید که چنین سطری را به یک رکورد LDAP به این شکل تبدیل کند:
dn: uid=Username, dc=example, dc=com cn: Firstname Lastname sn: Lastname telephoneNumber: Telephone number
یک فایل حاوی یک جفت بررسی و کنترل رکوردها، ایجاد کنید.
با استفاده از awk و دستورات استاندارد یونیکس، یک اسکریپت Bash ایجاد کنید که سه کاربری که بیشترین فضای دیسک فایل سیستم
/home
را استفاده میکنند( اگر پارتیشن جداگانهای براین نگهداری دایرکتوری home ندارید، اسکریپت را برای پارتیشن/
ایجاد کنید، این پارتیشن در هر سیستم یونیکس موجود است)، نشان دهد. اول، فرمانها را از طریق خطفرمان اجرا کنید. بعد آنها را در یک اسکریپت قرار دهید. خروجی اسکریپت باید مشهود(مشهود به معنی قابل خواندن توسط کارفرما) باشد. اگر همه چیز بیانگر کارکرد آنست، اسکریپت باید نتایجش را به شما (به طور نمونه با استفاده از چنین دستوری
mail-s
Disk space usage
<you@your_comp>
<result
) ایمیل کند.اگر برنامه سهمیهبندی(quota daemon) در حال اجرا میباشد، از اطلاعات آن استفاده کنید، وگرنه، از find استفاده کنید.
یک خروجی 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 بنویسید.