אנדרואיד

לינוקס לחתוך את הפקודה עם דוגמאות

Campeonato Nacional de Trial 4x4 2014 - 1ª Prova St.ª M.ª da Feira

Campeonato Nacional de Trial 4x4 2014 - 1ª Prova St.ª M.ª da Feira

תוכן עניינים:

Anonim

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

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

כיצד להשתמש בפקודה החתוכה

התחביר לפקודה הגזירה הוא כדלקמן:

cut OPTION……

כשאתה משתמש בפקודה החתוכה עליך להשתמש באחת ואחת מהאפשרויות הבאות:

  • -f (- --fields=LIST ) - בחר על ידי ציון שדה, קבוצת שדות או טווח שדות. זוהי האפשרות הנפוצה ביותר. -b ( --bytes=LIST ) - בחר על ידי ציון בתים, קבוצה של בתים או טווח של בתים. -c ( -c --characters=LIST ) - בחר על ידי ציון תו, קבוצת תווים או מגוון תווים.

אפשרויות אחרות הן:

  • -d (- --delimiter ) - ציין תוחם שישמש במקום ברירת המחדל "TAB". - השלמה - משלימים את הבחירה. בעת שימוש באפשרות זו גזור יציג את כל הבתים, התווים או השדות פרט לנבחרים. -s ( --only-delimited ) - כברירת מחדל חתך ידפיס כל שורה שאינה מכילה תו תוחם. בעת שימוש באפשרות זו גזור לא ידפיס שורות שאינן מכילות תוחמים. --output-delimiter - ברירת המחדל היא להשתמש --output-delimiter הפלט. אפשרות זו מאפשרת לך לציין מחרוזת אחרת לתחום הפלט.

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

ארגומנט ה- LIST המועבר לאפשרויות -f , -b ו- -c יכול להיות מספר שלם, מספרים שלמים המופרדים על ידי פסיקים, טווח של מספר שלם או טווחים שלמים מרובים המופרדים באמצעות פסיקים. כל טווח יכול להיות אחד מהבאים:

  • N השדה ה- N, בתים או תו, החל מ- 1. N- מהשדה Nth, בייט או תו, עד סוף השורה. NM מהשדה Nth לשדה Mth, בתים או דמות. -M מהראשון לשדה Mth, בתים או תו.

איך לחתוך לפי שדה

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

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

test.txt

245:789 4567 M:4540 Admin 01:10:1980 535:763 4987 M:3476 Sales 11:04:1978

כדי להציג את השדה הראשון והשלישי תשתמשו בו:

cut test.txt -f 1, 3

245:789 M:4540 535:763 M:3476

או אם ברצונך להציג מהשדה הראשון עד הרביעי:

cut test.txt -f -4

245:789 4567 M:4540 Admin 535:763 4987 M:3476 Sales

כיצד לחתוך על סמך תוחם

כדי לחתוך על סמך תוחם השתמש באפשרות -d ואחריו התוחם בו ברצונך להשתמש.

לדוגמה, כדי להציג את השדות הראשון והשלישי באמצעות ":" כמגביל, הקלד:

cut test.txt -d ':' -f 1, 3

245:4540 Admin 01 535:3476 Sales 11

אתה יכול להשתמש בכל תו בודד כמגביל. בדוגמה הבאה אנו משתמשים בתו החלל כמגביל ומדפיס את השדה השני:

echo "Lorem ipsum dolor sit amet" | cut -d ' ' -f 2

ipsum

כיצד להשלים את הבחירה

להשלמת רשימת שדות הבחירה השתמש באפשרות השלמה. פעולה זו תדפיס רק את השדות שלא נבחרו עם האפשרות -f .

הפקודה הבאה תדפיס את כל השדות למעט הראשון והשלישי:

cut test.txt -f 1, 3 --complement

4567 Admin 01:10:1980 4987 Sales 11:04:1978

כיצד לציין תוחם פלט

כדי לציין את תוחם הפלט השתמש --output-delimiter . לדוגמה, כדי להגדיר את תוחם הפלט ל _ היית משתמש ב:

cut test.txt -f 1, 3 --output-delimiter='_'

245:789_M:4540 535:763_M:3476

כיצד לחתוך על ידי ביטים ותווים

לפני שנמשיך הלאה, בואו נבדיל בין בתים לדמויות.

בייט אחד הוא 8 סיביות והוא יכול לייצג 256 ערכים שונים. כאשר הוקם תקן ASCII הוא לקח בחשבון את כל האותיות, המספרים והסמלים הדרושים לעבודה עם אנגלית. בטבלת התווים ASCII יש 128 תווים וכל תו מיוצג על ידי בייט אחד. כאשר המחשבים התחילו להיות פופולריים ברחבי העולם, חברות הטכנולוגיה החלו להציג קידודי תווים חדשים לשפות שונות ולשפות הכוללות יותר מ 256 תווים, לא ניתן היה לבצע מיפוי פשוט 1 עד 1. זה מוביל לבעיות שונות כמו שיתוף מסמכים או גלישה באתרי אינטרנט ונדרש תקן חדש של Unicode שיכול להתמודד עם מרבית מערכות הכתיבה בעולם. UTF-8 נוצר כדי לפתור בעיות אלה. ב- UTF-8, לא כל התווים מיוצגים עם בייט אחד. ניתן לייצג תווים עם 1 בתים עד 4 בתים.

בדוגמאות הבאות אנו משתמשים בתו ü שלוקח 2 בתים.

השתמש באפשרות -b ( --bytes ) כדי לחתוך קטע בשורה על ידי ציון מיקום בתים.

בחר בתים החמישי:

echo 'drüberspringen' | cut -b 5

b

בחר בתים החמישי, ה -9 וה -13:

echo 'drüberspringen' | cut -b 5, 9, 13

bpg

בחר את הטווח בין בתים 1 עד 5:

echo 'drüberspringen' | cut -b 1-5

drüb

בזמן כתיבת מאמר זה, אין לגרסת החיתוך המצורף בתמציות הליבה של GNU אפשרות לחתוך לפי תווים. כאשר משתמשים באפשרות -c חתך מתנהג זהה לזה שמשתמש באפשרות -b .

דוגמאות לחתוך

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

קבל רשימה של כל המשתמשים

הפלט של הפקודה getent passwd מועבר cut שמדפיס את ה- 1 שהוגש באמצעות : כתחום.

getent passwd | cut -d ':' -f1

צפה 10 פקודות הנפוצות ביותר

בדוגמה הבאה נעשה שימוש בחיתוך כדי להפשיט את 8 הבתים הראשונים מכל שורת פלט פקודת history .

history | cut -c8- | sort | uniq -c | sort -rn | head

סיכום

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

מסוף חתוך