قم بتقسيم ملف نصي إلى نصف (أو أي نسبة مئوية) على Ubuntu Linux
إذا كان لديك ملف نصي غير عملي تحاول معالجته ، فإن تقسيمه في أقسام قد يساعد أحيانًا في وقت المعالجة ، خاصةً إذا كنا سنقوم باستيراد ملف إلى جدول بيانات. أو قد ترغب فقط في استرداد مجموعة معينة من الخطوط من ملف.
أدخل الانقسام ، wc ، tail ، cat ، و grep. (لا تنسى sed و awk). يحتوي Linux على مجموعة غنية من الأدوات المساعدة للعمل مع الملفات النصية في سطر الأوامر. بالنسبة لمهمتنا اليوم ، سنستخدم الانقسام والمراحيض.
أولاً نلقي نظرة على ملف السجل الخاص بنا ... .
> ls -l
-rw-r-r- 1 thegeek ggroup 42046520 2006-09-19 11:42 access.log
نحن نرى أن حجم الملف هو 42MB. هذا شيء كبير ... لكن كم عدد الخطوط التي نتعامل معها؟ إذا أردنا استيراد هذا إلى Excel ، فسنحتاج إلى الاحتفاظ به أقل من 65 ألف خط.
دعونا نتحقق من عدد الخطوط في الملف باستخدام أداة wc ، والتي تعني "عدد الكلمات".
> wc -l access.log
146330 access.log
نحن أكثر من حدودنا. سنحتاج إلى تقسيم هذا إلى 3 شرائح. سنستخدم الأداة المساعدة المقسمة للقيام بذلك.
> split -l 60000 access.log
> ls -lمجموع 79124
-rw-rw-r- 1 thegeek ggroup 40465200 2006-09-19 12:00 access.log
-rw-rw-r- 1 thegeek ggroup 16598163 2006-09-19 12:05 xaa
-rw-rw-r- 1 thegeek ggroup 16596545 2006-09-19 12:05 xab
-rw-rw-r- 1 thegeek ggroup 7270492 2006-09-19 12:05 xac
لقد قمنا الآن بتقسيم ملفاتنا النصية إلى 3 ملفات منفصلة ، تحتوي كل منها على أقل من 60000 سطر ، والتي يبدو أنها رقم جيد للاختيار. يحتوي الملف الأخير على كمية المتبقي. إذا كنت ستقوم بقص هذا الملف المعين إلى النصف ، فستقوم بذلك:
> split -l 73165 access.log
وهذا كل ما في الأمر.