خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه استفاده از دستور csplit برای تقسیم فایل ها در لینوکس

دستور csplit در لینوکس به شما کمک می کند تا یک فایل را بر اساس محتوای آن به جای تعداد بایت به چندین فایل تقسیم کنید.

csplit یک ابزار خط فرمان محبوب لینوکس است که برای تقسیم محتویات یک فایل به دو قسمت استفاده می شود. فایلی که باید تغییر دهید باید یک فایل متنی با پسوند “.txt” باشد.

استفاده از دستور آسان است و در تمام توزیع های لینوکس به خوبی کار می کند. با استفاده از پرچم های مختلف موجود برای csplit، می توانید خروجی را نیز بر اساس نیاز خود تغییر دهید.

در اینجا نحوه استفاده از csplit برای تقسیم یک فایل در لینوکس آورده شده است.

csplit چیست؟

csplit که در لینوکس و سایر سیستم‌عامل‌های مشابه یونیکس استفاده می‌شود، می‌تواند یک فایل را به فایل‌های جداگانه‌ای که توسط خطوط زمینه تعیین می‌شود تقسیم کند.

سینتکس اصلی دستور به صورت زیر است:

csplit [OPTION] [PATTERN]

csplit در مقابل تقسیم

اکثر کاربران لینوکس دوست دارند هنگام تقسیم یک فایل به چندین فایل کوچکتر از دستور split استفاده کنند. مشکل این دستور این است که برای تقسیم فایل ها به اندازه بایت یا اندازه خط تکیه می کند.

این امکان پذیر نیست در سناریوهایی که می خواهید فایل ها را بر اساس محتوای آنها تقسیم کنید، نه اندازه آنها. این زمانی است که csplit به کمک می آید زیرا فایل را به تکه های با اندازه ثابت بر اساس محتوا به جای تعداد بایت تقسیم می کند.

نحوه نصب csplit در لینوکس

csplit تقریباً روی تمام توزیع‌های لینوکس از پیش نصب شده است. اما اگر با خطای csplit: command not found مواجه شدید، به این معنی است که ابزار بر روی سیستم شما نصب نشده است. برای نصب csplit در اوبونتو، اجرا کنید:

sudo apt-get install coreutils

در Arch Linux اجرا کنید:

sudo pacman -S coreutils

برای نصب csplit روی فدورا و RHEL:

sudo dnf install coreutils

نحوه استفاده از csplit در لینوکس

برای مشاهده نحوه عملکرد csplit، یک فایل متنی در سیستم خود ایجاد کنید. از دستور touch برای ایجاد یک فایل خالی استفاده کنید.

touch filename.txt

پس از ایجاد فایل، آن را با ویرایشگر نانو باز کنید تا محتوای آن را تغییر دهید.

nano filename.txt

هنگامی که مقداری محتوا به فایل اضافه کردید، Ctrl + X و سپس Y را فشار دهید تا ذخیره و بسته شود.

مطلب مرتبط:   نحوه تغییر پسوند فایل در لینوکس

برای تأیید محتوای فایل با استفاده از دستور cat، اجرا کنید:

cat filename

یک فایل متنی در ترمینال اوبونتو در حال ایجاد است

از دستور csplit برای تقسیم یک فایل استفاده کنید

برای اینکه بفهمید csplit چگونه کار می کند، ابتدا به محتویات فایلی که در اینجا به عنوان مثال استفاده می شود نگاه کنید.

یک فایل و محتویات آن نمایش داده می شود

فایل شامل 9 خط از اعداد 1 تا 9 است. اگر باید فایل را به دو قسمت تقسیم کنید، چگونه به csplit می‌گویید که کدام محتویات را به فایل اول ارسال کنید و کدام را به دیگری؟ آسان است. در دستور، فقط باید به csplit بگویید که تقسیم را از کدام خط شروع کند.

این کار با تعیین شماره خط انجام می شود. به عنوان مثال، اگر می خواهید فایل را از خط سوم با کلمه “London” تقسیم کنید، در دستور 3 را ذکر خواهید کرد. دستور را به این صورت وارد کنید:

csplit filename.txt 3

این دستور بلافاصله فایل را به دو قسمت تقسیم می کند. از دستور ls برای فهرست کردن تمام محتویات دایرکتوری برای دیدن فایل های خروجی استفاده کنید. فایل های جدید را با نام های xx00 و xx01 در کنار فایل اصلی پیدا خواهید کرد.

از دستور cat برای تایید محتویات هر دو فایل استفاده کنید.

در ترمینال اوبونتو، از دستور csplit برای تقسیم یک فایل استفاده شده است

همانطور که می بینید، csplit فایل را از خط سوم به دو قسمت تقسیم می کند که در دستور مشخص شده است.

گزینه های فرمان csplit

در اینجا برخی از گزینه های خط فرمان csplit وجود دارد که می توانید استفاده کنید:

1. پیشوند فایل های خروجی را تغییر دهید

همچنین به عنوان پرچم پیشوند شناخته می شود، -f پیشوند نام فایل را تغییر می دهد. ممکن است متوجه شده باشید که وقتی csplit فایل را تقسیم می کند، فایل های جدید ایجاد شده دارای xx به عنوان پیشوند در نام فایل ها هستند. می توانید با استفاده از پرچم -f در دستور آن را تغییر دهید.

مطلب مرتبط:   چگونه یک محیط توسعه Go را در لینوکس راه اندازی کنیم

به عنوان مثال، اگر می خواهید نام فایل ها به جای xx به عنوان پیشوند abc باشد، دستور را به این صورت صادر کنید:

csplit -f abc filename.txt 3

دستور csplit با پرچم -f استفاده شده است

همانطور که قابل مشاهده است، پس از تقسیم، هر دو فایل دارای پیشوند abc در نام ها هستند.

2. هنگام بروز خطا، فایل ها را نگه دارید

اگر در دستور csplit خطایی وجود داشته باشد، گزینه -k یا –keep-files فایل های خروجی را حذف نمی کند.

دستور معیوب زیر را صادر کنید:

csplit -k randomfile.txt 2 {3}

دستور csplit با گزینه k استفاده شده است

3. تعداد ارقام در نام فایل را تغییر دهید

با استفاده از این گزینه می‌توانید به دستور csplit بگویید که چند رقم را می‌خواهید در نام فایل زیر پیشوند ببینید. به آن پرچم ارقام نیز می گویند.

دستور زیر را برای حفظ تنها یک رقم در نام فایل صادر کنید:

csplit -n 1 randomfile.txt 2

دستور csplit با پرچم n استفاده می شود

بدون پرچم -n، به طور پیش فرض، دو رقم در نام فایل خواهید دید.

4. فایل را بدون خروجی شمارش اندازه تقسیم کنید

پرچم -s که به عنوان پرچم بی صدا نیز شناخته می شود، فایل را بدون ذکر تعداد اندازه فایل های خروجی، بی صدا تقسیم می کند.

csplit -s randomfile.txt 3

دستور csplit با پرچم s استفاده می شود

5. راهنمای خط فرمان را مشاهده کنید

برای مشاهده جزئیات همه گزینه های موجود برای csplit، از پرچم -h یا –help در دستور استفاده کنید.

csplit --help

دستور csplit با پرچم h استفاده می شود

6. شماره نسخه csplit را بررسی کنید

برای اینکه ببینید از کدام نسخه csplit استفاده می کنید، دستور را با پرچم –version اجرا کنید:

csplit --version

دستور csplit با پرچم v استفاده می شود

7. یک خط خاص را در حین تقسیم حذف کنید

همچنین می توانید از گزینه –suppress-matched command-line برای حذف یک خط خاص هنگام تقسیم فایل استفاده کنید.

csplit --suppress-matched filename.txt 5

هنگام ایجاد دو فایل، csplit خط پنجم را نادیده می گیرد و فایل را از خط بعدی تقسیم می کند.

مطلب مرتبط:   9 مثال عملی از دستور برش در لینوکس

دستور csplit با گزینه suppress matched استفاده می شود

خط پنجم فایل اصلی عبارت “برلین” است. در فایل خروجی «برلین» حذف شده بود.

با یک فرمان در لینوکس، فایل ها را بدون دردسر تقسیم کنید

ابزارهای خط فرمان زیادی برای مدیریت فایل ها در سیستم لینوکس وجود دارد. یکی از آنها csplit است. به طور پیش فرض، در تمام سیستم های لینوکس در دسترس است. اگر نه، می توانید آن را به سادگی از طریق خط فرمان نصب کنید.

csplit یک راه آسان و کارآمد برای تقسیم یک فایل زمانی است که باید فایل را بر اساس محتویات آن تقسیم کنید. csplit با گزینه های مختلف خط فرمان ارائه می شود که به شما انعطاف پذیری می دهد تا خروجی را به روشی که می خواهید تنظیم کنید. چندین ابزار خط فرمان برای مشاهده محتوای یک فایل در لینوکس وجود دارد، اگر می خواهید فایل ها را پس از تقسیم شدن بررسی کنید.