כיצד להחליף את Newline בפסיק באמצעות הפקודה `sed '

How Replace Newline With Comma Using Sed Command



ניתן להחליף כל תו או מחרוזת באמצעות הפקודה `sed`. לפעמים, עלינו להחליף את תו השורה החדשה ( n) בקובץ בפסיק. במאמר זה אנו משתמשים בפקודה 'sed' כדי להחליף n בפסיק.

שימוש ב- 'sed' כדי להחליף n בפסיק

בעיות רבות יכולות להתרחש בעת החלפת n בפסיק. כברירת מחדל, כל שורה מסתיימת ב- n בעת יצירת קובץ. הפקודה `sed` יכולה בקלות להתפצל ב- n ולהחליף את השורה החדשה בכל תו. ניתן להשתמש במפריד אחר במקום n, אך רק כאשר משתמשים ב- GNU sed. כאשר ה n חסר בשורה האחרונה של הקובץ, GNU sed יכול להימנע מהדפסה n. יתר על כן, בדרך כלל מתווסף n לכל פלט עוקב של 'sed'.







צור קובץ

במאמר זה נראה לך כיצד להשתמש בפקודה `sed` כדי להחליף n בפסיק. כדי לעקוב אחר הדרכה זו, צור קובץ טקסט בשם Clients.txt עם פרטי הלקוח הטבלאיים הבאים.



תְעוּדַת זֶהוּת שֵׁם אימייל מכשיר טלפון
c01 Md. ראקיב [מוגן בדוא'ל] 01856233238
c02 מאהר אפרוז [מוגן בדוא'ל] 01733536342
c03 פקרול אחסן [מוגן בדוא'ל] 01934737248
c04 הלל אודין [מוגן בדוא'ל] 01534895898
c05 נוסראט ג'האן [מוגן בדוא'ל] 01866345254

דוגמה 1: החלף n בפסיק באמצעות -z

האפשרות -z משמשת להמרת n לתו null ( 0). התוכן של הקובץ מטופל כשורה אחת אם הוא אינו מכיל תווי null. הפקודה `sed` תמיר את השורה החדשה לתו null ותחליף כל n בפסיק באמצעות תבנית החיפוש והחלפה הראשונה. כאן, 'g' משמש לחיפוש גלובלי של n. עם דפוס החיפוש והחלפה השני, הפסיק האחרון יוחלף ב- n.



$חתולClients.txt

$sed -עם 's/ n/,/g; s/, $/ n/'Clients.txt

הפלט הבא יוצר לאחר הפעלת הפקודות.





דוגמה 2: החלף n בפסיק באמצעות a, b, $! ו- N.

ניתן להשתמש בפקודה `sed` כדי להחליף n בפסיק באמצעות a, b, N ו- $! . פה, ל משמש לצירוף משימות, ב משמש לסניף התוכן, נ משמש כדי לעבור לשורה הבאה, ו- $! משמש למניעת החלת משימת ההחלפה על השורה האחרונה. הפקודה תחליף כל אחת n עם פסיק למעט השורה האחרונה.



$חתולClients.txt

$sed ': a; N; $! ba; s/ n/,/g'Clients.txt

הפלט הבא יוצר לאחר הפעלת הפקודות.

דוגמה 3: החלף n בפסיק באמצעות H, h, d, x ו- y

אם אתה רוצה להחליף n) עם פסיק בקובץ קטן, ניתן להשתמש בפקודה 'sed' הבאה. פה, ח משמש לצירוף השורה האחרונה לטקסט ההחזקה, 1h משמש להעתיק כל שורה בקובץ לטקסט ההחזקה מהשורה הראשונה, $! d משמש למחיקת כל השורות למעט השורה האחרונה, איקס משמש להחלפת טקסט ההחזקה ומרחב הדוגמאות, ו- ו משמש להחלפת כל אחד n בטקסט ההחזקה עם פסיק.

$חתולClients.txt

$sed 'H; 1h; $! D; x; y/ n/,/'Clients.txt

הפלט הבא יוצר לאחר הפעלת הפקודות.

דוגמה 4: החלף n בפסיק באמצעות -n, H, h, g ו- p

ניתן להשתמש בפקודה `sed` להחלפה n עם פסיק עם אפשרות שמונעת הדפסה אוטומטית. כמו בדוגמה הקודמת, ח משמש כאן לצירוף השורה האחרונה לטקסט המחזיק, שעה אחת משמש להעתיק כל שורת הקובץ לטקסט המחזיק, $ מתייחס לשורה האחרונה של הקובץ, ז משמש להעתיק מהטקסט המחזיק, ו- עמ משמש להדפסה.

$חתולClients.txt

$sed'ח; שעה אחת; ${g; s / n/,/g; p} 'Clients.txt

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

דוגמה 5: החלף n בפסיק באמצעות H, x, p

H, x ו- p הוסברו בדוגמאות קודמות. ביטוי החיפוש והחלפה הראשון יחליף כל אחד n עם פסיק, וביטוי החיפוש והחלפה השני יחליף פסיק בתחילת שורה ברווח.

$חתולClients.txt

$sed'H; $ {x; s/ n/,/g; s/^, //; p;}'Clients.txt

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

דוגמה 6: החלף n בפסיק באמצעות N ו- 'cat'

הפקודה `cat 'משמשת כאן לשליחת תוכן הקובץ לפקודה` sed` ו- נ משמש כדי לעבור לשורה הבאה.

$חתולClients.txt

$חתולClients.txt| sed 'N; s/ n/,/'

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

סיכום

ייתכן שיהיה צורך להחליף n בפסיק כדי להעביר נתונים מתבנית קובץ אחת לאחרת. ניתן לבצע החלפה מסוג זה גם באמצעות פקודות לינוקס אחרות. ניתן להשתמש באפשרויות פקודה רבות, כגון H, N, h ו- x, יחד עם הפקודה 'sed' להשלמת משימה זו. מדריך זה עובר על מספר דרכים לשימוש בפקודה `sed` כדי להחליף n בפסיק.