یاد بگیرید که چگونه یک فایل بزرگ را با استفاده از دستور split در لینوکس به چندین فایل کوچکتر تقسیم کنید.
لینوکس طیف گسترده ای از دستورات را برای دستکاری و پردازش متن ارائه می دهد، از جمله دستور تقسیم. با split، می توانید به راحتی فایل های بزرگ را به فایل های کوچکتر تقسیم کنید یا بر اساس معیارهای خاصی، بخش های خاصی از یک فایل را استخراج کنید.
بیایید نحوه استفاده از دستور split برای تقسیم فایل ها در لینوکس را بررسی کنیم. چه بخواهید بخش های خاصی از یک فایل بزرگ را استخراج کنید یا یک فایل را به تکه های کوچکتر تقسیم کنید، دستور split می تواند به شما کمک کند تا به راحتی به اهداف خود برسید.
فرمان تقسیم چیست؟
دستور split یک ابزار خط فرمان محبوب لینوکس است که توسط Torbjorn Granlund و Richard M. Stallman ایجاد شده است. همانطور که از نام آن پیداست، دستور split برای تقسیم یک فایل به فایل های فرعی کوچکتر استفاده می شود.
این دستور برای مدیریت فایل های بزرگ یا هنگام انتقال فایل ها از طریق شبکه هایی با پهنای باند محدود مفید است. با تقسیم یک فایل بزرگ به قسمت های کوچکتر، می توانید مقدار داده هایی را که باید در هر زمان منتقل یا ذخیره شوند، کاهش دهید. همچنین می توانید دستور split را معکوس کنید تا چندین فایل را در یک فایل ترکیب کنید.
تقسیم دستور دستور
نحو اصلی دستور split به شرح زیر است:
split [OPTION]... [FILE] [PREFIX]
- [OPTION]: دستور split گزینههای مختلفی دارد تا تصمیم بگیرید که چگونه میخواهید فایل تقسیم شود و سایر ویژگیهای خاصی که ممکن است علاقه مند به اضافه کردن آن باشید.
- [FILE]: این مسیر فایلی است که می خواهید تقسیم کنید.
- [PREFIX]: این به پیشوند زیر فایل ها اشاره دارد.
نحوه استفاده از دستور split
می توانید از دستور split برای تقسیم یک فایل بزرگ به فایل های کوچکتر بر اساس اندازه یا طول استفاده کنید. حتی می توانید تعداد خاصی از فایل های کوچکتر مورد نظر خود را انتخاب کنید.
برای نمایش، از یک فایل متنی به نام largefile.txt استفاده می کنیم. لطفاً یک فایل متنی با چند خط و اندازه نسبتا بزرگ برای این آموزش انتخاب کنید. اگر آن را ندارید، می توانید از یک ویرایشگر متن لینوکس یا دستور cat برای چسباندن یک متن بزرگ و ذخیره آن استفاده کنید.
تقسیم فایل های بزرگ بر اساس تعداد خطوط
می توانید از دستور split برای تقسیم یک فایل بزرگ به فایل های کوچکتر بر اساس تعداد مشخصی از خطوط در هر فایل استفاده کنید. در اینجا نحو است:
split -l [number of lines] [input file] [output file prefix]
برای مثال، ممکن است بخواهید یک فایل با 210 خط را به فایل های 50 خطی تقسیم کنید. پنج فایل کوچکتر دریافت خواهید کرد. چهار فایل اول هر کدام 50 خط و فایل پنجم فقط 10 خط دارد.
برای تقسیم یک فایل به نام “largefile.txt” به فایل های کوچکتر هر کدام 100 خط، این دستور را اجرا کنید:
split -l 100 largefile.txt smallfile
با استفاده از دستور ls محتویات دایرکتوری را فهرست کنید و فایل های تقسیم شده را مشاهده خواهید کرد.
تقسیم فایل های بزرگ بر اساس اندازه
همچنین می توانید از دستور split برای تقسیم یک فایل بزرگ به فایل های کوچکتر بر اساس اندازه فایل خاص استفاده کنید. در اینجا نحو اصلی آمده است:
split -b [size in bytes] [input file] [output file prefix]
با اجرای این دستور largefile.txt را به فایل های کوچکتر با حجم 300 بایت تقسیم کنید:
split -b 300 largefile.txt smallfile
نتیجه این است:
یک فایل بزرگ را به تعداد مشخصی از فایل ها تقسیم کنید
شما همچنین می توانید یک فایل را بدون در نظر گرفتن تعداد فایل ها و بایت های موجود در آنها به تعداد ثابتی از فایل ها تقسیم کنید. این کار را با استفاده از گزینه -n انجام می دهید. در اینجا نحو است:
split -n [number of files] [input file] [output file prefix]
برای تقسیم یک فایل بزرگ به پنج قسمت، این دستور را اجرا کنید:
split -n 5 largefile.txt smallfile
نتیجه باید به این صورت باشد:
طول پسوند فایل های تقسیم شده را تغییر دهید
همانطور که ممکن است متوجه شده باشید، طول پیش فرض پسوندهای متصل به نام فایل خروجی دو است. به عنوان مثال smallfileaa، smallfileab، smallfileac و غیره.
برای تغییر طول پسوند، از گزینه -a استفاده می کنید. در اینجا نحوی برای تغییر طول پسوند آمده است:
split -a [length of suffix] [input file] [output file prefix]
می توانید از این گزینه طول پسوند در کنار سایر دستورات تقسیم استفاده کنید. برای تقسیم فایل largefile.txt به 10 قسمت با طول پسوند 4، این دستور را اجرا کنید:
split -a 4 -n 10 largefile.txt smallfile
وقتی محتویات دایرکتوری را فهرست می کنید، خروجی باید به شکل زیر باشد:
ادغام چندین فایل با cat
خبر خوب این است که همیشه می توانید فایل های تقسیم شده را دوباره با هم ادغام کنید تا فایل اصلی تولید شود. برای ادغام فایل های تقسیم شده در فایل اصلی، از دستور cat استفاده کنید. در اینجا نحوی برای انجام این کار آمده است:
cat [split files] > [output file]
هنگام استفاده از دستور cat برای ادغام فایل های تقسیم، مهم است که ترتیب صحیح فایل های تقسیم شده را مشخص کنید.
دستور cat به سادگی فایل ها را به ترتیب مشخص شده به هم متصل می کند، بنابراین اگر فایل ها به ترتیب درست نباشند، فایل ادغام شده خراب می شود.
در سناریویی که تعداد زیادی فایل تقسیم شده دارید، به عنوان مثال، صد فایل تقسیم شده، تایپ کردن هر فایل پشت سر هم و به ترتیب درست دشوار خواهد بود.
اینجاست که پیشوند وارد می شود. فقط با افزودن علامت ستاره (*) به شما امکان می دهد تمام فایل هایی که با آن پیشوند شروع می شوند را ادغام کنید.
cat prefix* > [output file]
در اینجا یک دستور مثال است که فایل های تقسیم شده smallfileaa، smallfileab، smallfileac و smallfilead را در یک فایل واحد به نام bigfile.txt ادغام می کند:
cat smallfile* > bigfile.txt
این دستور محتویات همه فایلهای تقسیمشده را که با الگوی smallfile* مطابقت دارند به هم متصل میکند و خروجی را به فایل جدیدی به نام bigfile.txt هدایت میکند. همچنین فایل های تقسیم شده را بر اساس نام آنها به ترتیب طبیعی فهرست می کند، که باید ترتیب درستی برای ادغام باشد.
از ابزارهای لینوکس برای افزایش کارایی خود استفاده کنید
دستور split تنها یکی از ابزارهای متعددی است که لینوکس برای کمک به مدیریت موثر فایلهای بزرگ با تقسیم آنها به قطعات کوچکتر و قابل مدیریتتر ارائه میکند.
با تسلط بر دستورات پردازش متن لینوکس، می توانید در زمان و منابع صرفه جویی کنید و کارآمدتر شوید.