الصفحة الرئيسية » howto » قم بتقسيم ملف نصي إلى نصف (أو أي نسبة مئوية) على Ubuntu Linux

    قم بتقسيم ملف نصي إلى نصف (أو أي نسبة مئوية) على 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

    وهذا كل ما في الأمر.