اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

نحوه فیلتر کردن 10 رقم آخر یک شماره یا حرف در لینوکس

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    نحوه فیلتر کردن 10 رقم آخر یک شماره یا حرف در لینوکس

    امروز سناریوی برام پیش اومد که مجبور بودم با استفاده از یک API به یک وب سروری وصل بشم و از خروجی دستور زیر، که یک شماره تلفن را برای من در شل لینوکس نمایش میداد. ("phone": "+989203716705")

    کد PHP:
    [root@localhost ~]# curl -s 'http://172.17.100.10:8080/habili/2'
    {
      
    "id"2,
      
    "phone""+989121115500"
    }[root@localhost ~]
    سناریو من طوری بود که میخواستم تنها از 10 رقم آخرش (از سمت راست) خروجی بگیرم و به یک اسکریپت دیگه پاس بدهم. برای این کار ابتدا از دستور grep و awk به جهت فیلتر کردن 10 رقم آخر این شماره استفاده کردم ولی خروجی که میخواستم را بهم نمیداد. بعد از کلی سرچ و جستجو موفق شدم با ترکیب دستورات tail و head خروجی مورد نظرم رو به دست بیارم. البته این خروجی رو به دو روش من به دست آورد که در اینجا برای شما هم به اشتراک میگذارم که شما هم استفاده کنید.

    روش اول :

    کد PHP:
    [root@localhost ~]# curl -s 'http://172.17.100.10:8080/habili/2' | tail -c 13 | head -c 10 

    روش دوم :

    کد PHP:
    [root@localhost ~]# curl -s 'http://172.17.100.10:8080/habili/2' | awk  -n 'BEGIN {FS = """} ; /"phone":/ { print substr($4,length($4)-9,length($4))}' 
    امیدوارم مفید واقع شده باشه.
در حال انجام ...
X