تجربه‌های مفید و کاربردی Linux و Weblogic

این وبلاگ برای به اشتراک گذاشتن تجربه‌های کسب شده مرتبط با سیستم عامل Linux و weblogic می‌باشد.

تجربه‌های مفید و کاربردی Linux و Weblogic

این وبلاگ برای به اشتراک گذاشتن تجربه‌های کسب شده مرتبط با سیستم عامل Linux و weblogic می‌باشد.

  • ۰
  • ۰

split big text file

امروز میخواستم یک تجربه ساده را با شما در میان بگذارم. امروز یک تکست فایل با حجم ۲۰ گیگابایت به دستم رسید. باز کردن این فایل بخاطر حجم زیادش با مشکلات و کندی روبرو خواهد شد. حتما دوستان برای رهایی از این مشکل از ابزارهایی مثل head و tail استفاده کرده‌اند. اینبار بنده از ابزار split برای تقسیم این فایل بزرگ به قطعات کوچک‌تر استفاده کردم که از syntax ساده‌ای برخوردار می‌باشد.

Syntax

split [options] filename prefix

ممکنه شما بخواهید فایل خودتون رو بر اساس تعداد خطوط یا حجم فایل تقسیم‌بندی کنید. ولی اگر شما از دستور split با پیش‌فرض‌های default آن استفاده کنید فایل شما رو بر اساس تعداد خطوط (۱۰۰۰) به قطعات کوچک‌تر تقسیم می‌کند و برای Prefix از x استفاده می‌کند (‌به این صورت که بعد از x از aa شروع و به ترتیب ab و .... تا zz را برای فایل‌ها نامگذاری خواهد کرد).

اگر بخواهید فایل خود را بر اساس تعداد خطوط دلخواه تقسیم کنید از سوئیچ l استفاده کنید:

# split -l 200 systemlog
# ll
total 172
-rw-rw-r-- 1 root root 76294 Mar 25 12:02 systemlog
-rw-r--r-- 1 root root 14369 Mar 25 12:16 xaa
-rw-r--r-- 1 root root 12795 Mar 25 12:16 xab
-rw-r--r-- 1 root root 13566 Mar 25 12:16 xac
-rw-r--r-- 1 root root 13681 Mar 25 12:16 xad
-rw-r--r-- 1 root root 13840 Mar 25 12:16 xae
-rw-r--r-- 1 root root 8043 Mar 25 12:16 xaf
# cat xaa | wc -l; cat xab | wc -l; cat xac | wc -l; cat xad | wc -l; cat xae | wc -l; cat xaf | wc -l
200
200
200
200
200
99

و اگر بخواهید بر اساس سایز فایل آن را تقسیم کنیم می‌توانیم از سوئیچ b استفاده کنیم:

# split -b 500MB httpd.log
# ll -lh
total 1.9G
-rw-r--r-- 1 root root 954M Mar 25 12:35 httpd.log
-rw-r--r-- 1 root root 477M Mar 25 12:38 xaa
-rw-r--r-- 1 root root 477M Mar 25 12:38 xab

یا می‌توانید به‌جای MB از GB استفاده کنید.

با استفاده از سوئیچ d می‌توانید از 00 01 02 ... به‌جای aa, ab , ac ,.... به عنوان suffix استفاده کنید:

# split -d -b 200M httpd.log log
# ll -lh
total 1.9G
-rw-r--r-- 1 root root 954M Mar 25 12:35 httpd.log
-rw-r--r-- 1 root root 200M Mar 25 12:58 log00
-rw-r--r-- 1 root root 200M Mar 25 12:58 log01
-rw-r--r-- 1 root root 200M Mar 25 12:58 log02
-rw-r--r-- 1 root root 200M Mar 25 12:58 log03
-rw-r--r-- 1 root root 154M Mar 25 12:58 log04



مرجع:

https://linoxide.com/linux-how-to/split-large-text-file-smaller-files-linux/

  • ۹۷/۰۶/۰۴
  • Mahmoud Kazemi

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی