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. Administrator
    AdMiN
    هیات مدیره
    تاریخ عضویت:
    ‏3/10/13
    ارسال ها:
    2,150
    تشکر شده:
    316

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

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

    از این کاراکتر برای مشخص کردن یک گزینه جایگزین برای شرط استفاده می‌شود. همانند عملگر 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.

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