1.   مشاوره و انجام پروپوزال  و پایان نامه ، مشاوره در زمینه ارائه سمینار، 
       مشاوره و انجام مقاله های بین المللی و داخلی، 
       مشاوره و انجام مقاله در مجله های علمی پژوهشی معتبر، 
        مشاوره و آموزش شبیه سازی شبکه توسط شبیه ساز آکادمیک 2-NS، 
         مشاوره و آموزش شبیه سازهای ترافیک شهری از قبیل  SUMO، ONE، و ...
          کمک به دانشجویان برای پیاده سازی ایده ها و مقالات خود با شبیه سازهای
               NS2, NS3 , OMNET++ , ONE
     
    
                 شماره تماس :
                         حسین رنجبران:    09101607834   
                                          
    
                  ساعات تماس: 
                                      ۸ الی ۲۰
                         
                   ایمیل:
                         hossein.ranjbaran.it@gmail.com
                        
           
    

[...^] (لیست کاراکترهای متمم) در AWK

شروع موضوع توسط AdMiN ‏7/1/14 در انجمن برنامه نویسی AWK

وضعیت موضوع:
You must be a logged-in, registered member of this site to view further posts in this thread.
  1. AdMiN

    AdMiN Administrator هیات مدیره


    این یک امکان تکمیل کننده برای لیست کاراکترها است. نخستین کاراکتر پس از براکت آغازین باید یک کاراکتر ^ باشد. معنی آن تمامی کاراکترهایی است بجز آنچه در لیست قرار داده شده‌اند.

    کاراکتر | (تناوب)

    از این کاراکتر برای مشخص کردن یک گزینه جایگزین برای شرط استفاده می‌شود. همانند عملگر orدر زبان‌های برنامه نویسی. برای مثال:

    upload_2014-1-7_15-28-17.png
    شامل تمامی رشته‌های متنی است که با P شروع شده یا حاوی عدد باشند.

    (...)
    برای دسته کردن Regex هایی است که در میان آنها از کاراکتر تناوب استفاده شده است. برای مثال:

    upload_2014-1-7_15-28-43.png
    می‌تواند در مورد هر دو رشته زیر مصداق داشته باشد:

    upload_2014-1-7_15-29-6.png
    در مورد کاراکتر + که در مثال بالا آورده شده است، جلوتر توضیح خواهیم داد.

    کاراکتر *

    از ایـن کاراکتر می‌تواند برای تمامی کاراکترهایی که پس از یک حرف یک یا چند بار تکرار شده‌اند استفاده کرد. برای مثال *ph می‌تــوانــد شــامل کلیه کاراکترهایی باشد که با pشروع شده و پس از آنها به هر تعدادی hقرار داشته باشد. در صورتی که هیچ hای مـوجود نبود، pتنها نیز در شمول این Regexقرار خواهد گرفت. برای اینکه بتوانید کاراکتر * را برای بررسی تکرار چندین کاراکتر استفاده کنید، باید از پرانتز استفاده شود. به مثال زیر توجه کنید:

    awk '/\(c[ad][ad]*r x\)/ { print }' sample$

    دستور بالا تمامی رکوردهای فایل sample را خوانده و رکوردهایی مانند خروجی مثال زیر را چاپ می‌کند:

    (car x)
    (cadr x)

    کاراکتر +

    این کاراکتر مشابه کاراکتر * بوده بـا این تفاوت که کاراکتر مورد نظر حتما باید یکبار تکرار شده باشد. این امر به این معنی است که wh+y می‌تواند شامل why و whhy و نــه wy باشد. مثــال زیــر روش نـگـارش ســاده‌تر مثال قبل با استفاده از کاراکتر + است:

    awk '/\(c[ad]+r x\)/ { print }' sample$

    کاراکتر ?

    این کاراکتر مشابه کاراکتر * بوده با ایــن تفــاوت کــه قسـمت مورد نظر باید یکبار یا هیچ بار تکرار شود و لاغیر. مثلا fe?d می‌تواند شامل fed و fd باشد و نه چیز دیگر.

    {n} یا {,n} یا {n,m}


    یک یا دو شماره درون یک براکت می‌تواند نمایانگر تکرار تــعداد مشخصی از یک رشته باشد. برای مثال wh{3}y می‌تواند شـامل whhhy و نه why یا whhhhy باشد. یا wh{3,5}y شامل whhhy، whhhhy و whhhhhy است. در صورتی که پس از عــدد یک کاما قرار گیرد، تکرارهای بیشتر از آن شمرده خواهند شد. این امکان در ابتدا در زبان awk پیاده سازی نشده بود و بعدا برای ایجاد سازگاری با استاندارد POSIX به آن افزوده شد.
     
وضعیت موضوع:
You must be a logged-in, registered member of this site to view further posts in this thread.

این صفحه را به اشتراک بگذارید