حالا می‌خواهیم چند تا برنامه بنویسیم که پردازش‌هایی را روی این فایل انجام بدهند. برای اوّلین مثال برنامه‌ی زیر را در فایل exam1.awk می‌نویسیم.

 

/gold/ { printf("%s\n", $0); }

 

این برنامه به مفسّر می‌گوید اوّل در فایل دنبال عبارت gold بگرد بعد در هر خطی که آن را پیدا کردی دستورات داخل آکولاد را برای آن خط اجرا کن. در این مثال مفسّر در همان خط اول gold را پیدا می‌کند بعد تمام کلمات آن خط را که با فاصله از هم جدا شده‌اند در متغیّرهای $1 و $2 و . می‌ریزد و کلّ خط را هم در متغیّر $0 می‌ریزد. در این مثال در خطّ اوّل $1=”gold”، $2=”1”، $3=”1986” و حالا برای خط‌هایی که حاوی gold هستند دستور printf اجرا می‌شود. عملکرد دستور printf و همچنین طرز استفاده از آن درست شبیه زبان C است که من اینجا تکرارش نمی‌کنم.

پس نتیجتاً این برنامه هر خطی را که توش gold پیدا کند کلاً چاپ می‌کند. حالا می‌رسیم به طرز اجرای این برنامه در لینوکس. اوّل فایل‌های coins.txt و exam1.awk را درست کنید و سپس این عبارت را در خطّ فرمان لینوکس تایپ کنید.

 

awk –f exam1.awk coins.txt

 

چیزی که به عنوان خروجی چاپ خواهد شد این خواهد بود.

 

gold     1     1986  USA                 American Eagle
gold     1     1908  Austria-Hungary     Franz Josef 100 Korona
gold     1     1984  Switzerland         ingot
gold     1     1979  RSA                 Krugerrand
gold     0.5   1981  RSA                 Krugerrand
gold     0.1   1986  PRC                 Panda
gold     0.25  1986  USA                 Liberty 5-dollar piece
gold     0.25  1987  USA                 Constitution 5-dollar piece

 

gold     1     1988  Canada              Maple Leaf

متلب پروگرمر gold     ,gold ,برنامه ,1     ,پیدا ,usa                 ,gold     1     ,dollar piece ,krugerrand gold     ,rsa                 krugerrand ,دستور printf ,rsa                منبع

مشخصات

تبلیغات

آخرین ارسال ها

آخرین جستجو ها

مدیریت ورزشی تخفیف ویژه فقط برای امروز خرید پی دی پوینت عبادی هر چی که بخوای هست راکت شو