28Jun

כיצד להסיר קווים ממצב של קובץ באמצעות מסוף לינוקס

click fraud protection

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

כדי להבין את מספרי השורות, פקודה פשוטה של ​​grep-n עשתה את העבודה( הטעינה -n יוצרת את מספר השורות).זה עשה את זה קל להבין מה אני צריך לחלץ.

grep -n wp_posts howtogeekdb010114.bak |יותר תוצאות

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

4160: - מבנה לוח לטבלה `wp_posts` 4163: DROP TABLE אם EXISTS` wp_posts`;4166: יצירת טבלה `wp_posts`( 4203: - נתוני הטלה לטבלה` wp_posts` 4206: טבלאות טבלאות 'wp_posts` לכתוב: 4207: / *! 40000 ALTER TABLE `wp_posts` מקשים ניתוקים * /; 4208: INSERT INTO` wp_postsאתה יכול, כמובן, רק צינור הצינור מ grep לקובץ אחר, כמו זה: grep שם קובץ מילות מפתח.txt & gt; outputfile

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

instagram viewer
sd-n '4160,4209p' howtogeekdb0101140201.bak & gt; outputfile

ביסודו של דבר התחביר הוא כזה, הקפד להשתמש בארגומנט -n, ולכלול את ה- p אחרי מספר הקו השני.

sed-n 'FIRSTLINENUMBER, LASTLINENUMBERP 'שם קובץ & gt; outputfilename

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

או שאתה פשוט יכול להשתמש sed.