OnWorks Linux ו-Windows Online WorkStations

לוגו

אירוח מקוון בחינם עבור תחנות עבודה

<הקודם | תוכן | הבא>

אימות רשימת טלפונים באמצעות grep

בדוגמה הקודמת שלנו, בדקנו מספרי טלפון בודדים ובדקנו את העיצוב הנכון שלהם. תרחיש ריאלי יותר יהיה בדיקת רשימה של מספרים במקום זאת, אז בואו נעשה רשימה. נעשה זאת על ידי דקלום לחש קסום לשורת הפקודה. זה יהיה קסם כי לא כיסינו את רוב הפקודות המעורבות, אבל אל דאגה. נגיע לשם בפרקים הבאים. הנה הלחש:



[me@linuxbox ~]$ עבור i ב-{1..10}; do echo "(${RANDOM:0:3}) ${RANDO M:0:3}-${RANDOM:0:4}" >> phonelist.txt; בוצע

[me@linuxbox ~]$ עבור i ב-{1..10}; do echo "(${RANDOM:0:3}) ${RANDO M:0:3}-${RANDOM:0:4}" >> phonelist.txt; בוצע


פקודה זו תיצור קובץ בשם phonelist.txt מכיל עשרה מספרי טלפון. בכל פעם שהפקודה חוזרת, מתווספים לרשימה עוד עשרה מספרים. אנחנו יכולים גם לשנות את הערך 10 ליד תחילת הפקודה כדי להפיק יותר או פחות מספרי טלפון. אם נבחן את תוכן הקובץ, לעומת זאת, אנו רואים שיש לנו בעיה:



תמונה

[me@linuxbox ~]$ cat phonelist.txt


(232)

298-2265

(624)

381-1078

(540)

126-1980

(874)

163-2885

(286)

254-2860

(292)

108-518

(129)

44-1379

(458)

273-1642

(686)

299-8268

(198)

307-2440


חלק מהמספרים פגומים, וזה מושלם למטרות שלנו, מכיוון שנשתמש

grep כדי לאמת אותם.

שיטה שימושית אחת לאימות תהיה לסרוק את הקובץ לאיתור מספרים לא חוקיים ולהציג את הרשימה המתקבלת:



[me@linuxbox ~]$ grep -Ev '^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$'

phonelist.txt (292) 108-518

(129) 44-1379

[me@linuxbox ~]$

[me@linuxbox ~]$ grep -Ev '^\([0-9]{3}\) [0-9]{3}-[0-9]{4}$'

phonelist.txt (292) 108-518

(129) 44-1379

[me@linuxbox ~]$


כאן אנו משתמשים ב- -v אפשרות לייצר התאמה הפוכה כך שנוציא רק את השורות ברשימה שאינן תואמות לביטוי שצוין. הביטוי עצמו כולל את תווי המטא של העוגן בכל קצה כדי להבטיח שלמספר אין תווים נוספים בשני קצותיו. ביטוי זה מחייב גם שהסוגריים יהיו נוכחים במספר חוקי, שלא כמו הדוגמה הקודמת של מספר הטלפון שלנו.


מחשוב ענן מערכת ההפעלה המוביל ב-OnWorks: