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

אבל מה אתה יכול לעשות עם כלי שורת פקודה שזורק לך מספר ספרות? תגלה במדריך זה.

מהי פיקוד ה- seq?

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

מה השימוש בפועל בפקודה? בעוד ש- seq אולי לא נראה כמו כלי רב עוצמה במלואו, אתה יכול להפיק תועלת מהפקודה על ידי יישום זה עם כלי עזר אחרים של Linux. אתה יכול גם להשתמש ב- seq in סקריפטים bash לחשוף את כוחו האמיתי.

כיצד להשתמש ב- seq בלינוקס

Seq לוקח רק כמה טיעונים, מה שהופך אותו לכלי קל ללמוד לכל אחד.

תחביר בסיסי

התחביר הבסיסי של הפקודה הוא:

מספרים של אפשרויות seq

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

צור רשימת מספרים

טיעוני Seq עוקבים אחר פורמט הקלט המופיע להלן:

אחרון
המשך האחרון האחרון
המשך התוספת הראשונה אחרונה
instagram viewer

כאשר אתה מציין מספר אחד בלבד, seq מפרש אותו כגבול העליון של הרשימה ויוצר רצף החל מאחד עד המספר שצוין.

משך 5

הפקודה האמורה תעביר את הדברים הבאים:

1
2
3
4
5

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

משך 4 8

תְפוּקָה:

4
5
6
7
8

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

משך 3 2 13

הפקודה האמורה תפיק רשימת מספרים החל משלושה עד 13 עם תוספת של שניים.

3
5
7
9
11
13

הוסף מפריד בין מספרים

כברירת מחדל, seq משתמש בתו קו חדש כמפריד לרשימה. זו הסיבה שכל מספר ברשימה נמצא בשורה נפרדת.

באפשרותך לשנות התנהגות ברירת מחדל זו ולהשתמש במפריד מותאם אישית באמצעות דֶגֶל. כדי להשתמש ב- פרק זמן (.תו כמפריד:

seq -s. 3 7

תְפוּקָה:

3.4.5.6.7

זכור שכמה דמויות כמו טילדה (~) חייבים להיות כלולים בתוך הצעות מחיר. הסיבה לכך היא שהטרמינל משתמש ב- טילדה אופי לציון /home הספריה, וזה ישקף בפלט אם לא תוסיף את הציטוטים.

seq -s ~ 3 7

תְפוּקָה:

3 / בית / 4 / בית / 5 / בית / 6 / בית / 7

מצד שני, כשאתה עוטף את המפריד במרכאות:

seq -s '~' 3 7

תְפוּקָה:

3~4~5~6~7

לשנות את פורמט הפלט

ניתן גם לשנות את הפורמט של רצף הפלט באמצעות ה- -f דֶגֶל. כברירת מחדל, seq מחלץ את סגנון הפורמט מקלט המשתמש. לדוגמא, אם תציין את המספרים 0.1 ו- 0.5, לפלט ברירת המחדל תהיה תבנית מספר צף.

משך 0.1 0.5

תְפוּקָה:

0.1
0.2
0.3
0.4
0.5

ניתן לציין פורמט פלט מותאם אישית באמצעות מפרטי ההמרה השונים כמו% a,% e,% f,% g,% A,% E,% F ו-% G.

אתה יכול להשתמש ב- % f מפרט אם ברצונך שהפלט יהיה לפי תבנית מספר נקודה צפה.

seq-f% f 4 7

תְפוּקָה:

4.000000
5.000000
6.000000
7.000000

כדי לשנות את הדיוק עד שתי נקודות עשרוניות:

seq -f% 0.2f 4 7

תְפוּקָה:

4.00
5.00
6.00
7.00

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

seq -f 192.168.5.% g 1 233

תְפוּקָה:

כדי להוסיף ריפוד לפלט, אתה יכול להשתמש ב- -w דֶגֶל. ה -w דגל שומר על רוחב הפלט בהתאם למספר הגדול ביותר שצוין.

כדי ליצור רצף של מספרים בין אחד ל -1,000 עם תוספת של 100 תוך שמירה על רוחב קבוע:

seq -w 1 100 1000

תְפוּקָה:

0001
0101
0201
0301
0401
0501
0601
0701
0801
0901

קבל עזרה בשורת הפקודה

בעוד ש- seq קל לשימוש, לפעמים משתמשים עשויים להרגיש צורך בכך בדוק את הפקודה בדף הידני. ה --עֶזרָה הדגל יציג את דף האיש seq:

seq - עזרה

תְפוּקָה:

דוגמאות מעשיות

כפי שכבר צוין, seq משמש בעיקר עם פקודות לינוקס אחרות, למשל, מגע ו- expr.

בצע פעולות מתמטיות

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

כדי להוסיף את כל המספרים שבין אחד למאה:

expr `(seq -s" + "1 100)`

הפקודה seq מייצרת פלט כדלקמן:

1 + 2 + 3 + 4 + 5 + 6...

אקספר מתייחס אליו כאל ביטוי קלט ומוציא את הפיתרון.

5050

באפשרותך לבצע פעולות מתמטיות אחרות על ידי פשוט החלפת המפריד בפקודה seq עם אופרטורים אחרים.

צור במהירות מספר קבצים

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

לדוגמא, כדי ליצור 10 קבצים עם השם file-x.txt, איפה איקס הוא מספר מאחד עד 10:

גע ב- $ (seq -f "file% g.txt" 1 10)

מגע ייצור עבורך את הקבצים במהירות הבזק.

יישום Seq בסקריפטים

שקול שאתה כותב א כלי סורק רשת כמו Nmap ב- bash, ייתכן שתרצה לקבל רשימה של כל היציאות הפתוחות ברשת. אבל לשם כך, אתה צריך לעשות פינג לכל יציאה (65535 בסך הכל) ולנתח את התגובה.

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

נניח שאתה רוצה לקבל את רשימת כל היציאות של מכשיר עם כתובת ה- IP 1.2.3.4. הנה פקודה מהירה להפקת הפלט הרצוי:

seq -f 1.2.3.4:%g 1 65535

תְפוּקָה:

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

כמה מהר seq מייצר את המספרים?

ייתכן שאתה חושב אם אתה יכול להשיג תוצאות דומות באמצעות לולאה ב- bash, מדוע לבחור ב- seq למשימה? הסיבה לכך היא שכוחו האמיתי של seq טמון במהירותו. Seq מהיר יותר מכל פקודה אחרת שמייצרת רצף מספרים בלינוקס.

אתה יכול אפילו לבדוק את המהירות שלה באמצעות כלי השירות ב- Linux. בואו נראה כמה זמן לוקח ל- seq ליצור רשימה של מיליון מספרים החל מאחד.

זמן משך 1000000

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

הכוח של שורת הפקודה של לינוקס

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

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

אימייל
5 סיבות לבחור במסוף לינוקס על פני ממשק משתמש

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

קרא הבא

נושאים קשורים
  • לינוקס
על הסופר
שארמה של דיפש (65 מאמרים פורסמו)

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

עוד מדייפש שארמה

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

צעד אחד נוסף !!!

אנא אשר את כתובת הדוא"ל שלך בדוא"ל ששלחנו לך זה עתה.

.