سبليت (أمر يونكس)

`Split` (نقحرة: سبليت) (ترجمتها من الإنجليزية «إقسم» أو «قطّع») هو أحد أوامر يونكس التي تحددها مواصفة يونكس الواحدة، وأداة في نظم التشغيل الشبيهة بيونكس لتقسيم الملفات إلى ملفين أو أكثر، أصغر حجما. نسخة `split` المضمنة في أدوات جنو الأساسية كتبها توربيورن جرانلوند وريتشارد ستولمان.  

## <span data-segmentid="34" class="cx-segment">استعمال</span>
بناء جملة الأوامر هو: 
```bash
split [OPTION] [INPUT [PREFIX]]
```
السلوك الافتراضي `للانقسام` هو إنشاء ملفات الإخراج ذات حجم ثابت، 1000 خطوط الافتراضية. تتم تسمية الملفات عن طريق إلحاق *aa* و *ab* و *ac* وما إلى ذلك *بإخراج اسم الملف* . إذا لم يتم إعطاء *اسم ملف الإخراج* ، *فسيتم* استخدام اسم الملف الافتراضي لـ *x* ، على سبيل المثال، *xaa* ، *xab* ، إلخ. عند استخدام واصلة (*-*) بدلاً من *اسم ملف الإدخال* ، يتم اشتقاق البيانات من الإدخال القياسي. يتم عادةً إعادة ضم الملفات باستخدام أداة مساعدة مثل كات أمر يونكس.

## مثال حي

### مع خيار مطول

```shell
split txt.txt --verbose
creating file ‘xaa’
creating file ‘xab’
```


### مع تخصيص أرقام الأسطر (-l)

```shell
split -l200 txt.txt --verbose
creating file ‘xaa’
creating file ‘xab’
creating file ‘xac’
creating file ‘xad’
creating file ‘xae’
creating file ‘xaf’
```


#### تحقق من سطور كل ملف باستخدام الأمر أدناه

```shell
wc -l xa*
 200 xaa
 200 xab
 200 xac
 200 xad
 200 xae
  91 xaf
```


### مع حجم الملف باستخدام الخيار (-b)
استخدم بناء الجملة التالي لتقسيم الملفات ذات الحجم بالبايت، KB ، MB وGB
```shell
# split -b {bytes} {file_name}

# split -b nK {file_name} // n هي القيمة الرقمية

# split -b nM {file_name} // n هي القيمة الرقمية

# split -b nG {file_name} // n هي القيمة الرقمية
```

```shell
تقسيم الملف بناءً على وحدات البايت:

 # split -b2000000 txt.txt
تقسيم الملف بناءً على كيلوبايت:

# split -b 50K txt.txt
تقسيم الملف بناءً على ميغابايت:

# split -b 50M txt.txt
تقسيم الملف على أساس GB:

# split -b 1G txt.txt
```
تقسيم الملف بناءً على وحدات البايت:
```shell
split -b2000000 tuxlap.txt
```
تقسيم الملف بناءً على كيلوبايت:
```shell
split -b 50K tuxlap.txt
```
تقسيم الملف بناءً على ميغابايت:
```shell
split -b 50M tuxlap.txt
```
تقسيم الملف على أساس GB:
```shell
split -b 1G tuxlap.txt
```


### مع لاحقة رقمية بدلاً من الأبجدية (-d)
في الأمثلة الموضحة أعلاه، رأينا أن ملفات إخراج أمر الانقسام يتم إنشاؤها باستخدام لاحقة أبجدية مثل xaa و xab ...
```shell
[root@Amine ~]# split -d tuxlap.txt

[root@Amine ~]# ll
total 1024256
-rw-------. 1 root root        980 Aug 12 00:15 anaconda-ks.cfg
-rwx------. 1 root root 1048576000 Apr 15 03:54 linux-lite.iso
-rw-r--r--. 1 root root     120010 Apr 15 04:39 tuxlap.txt
-rw-r--r--. 1 root root      11998 Apr 15 04:41 x00
-rw-r--r--. 1 root root      12000 Apr 15 04:41 x01
-rw-r--r--. 1 root root      12000 Apr 15 04:41 x02
-rw-r--r--. 1 root root      12000 Apr 15 04:41 x03
-rw-r--r--. 1 root root      12000 Apr 15 04:41 x04
-rw-r--r--. 1 root root      12000 Apr 15 04:41 x05
-rw-r--r--. 1 root root      12000 Apr 15 04:41 x06
-rw-r--r--. 1 root root      12000 Apr 15 04:41 x07
-rw-r--r--. 1 root root      12000 Apr 15 04:41 x08
-rw-r--r--. 1 root root      12000 Apr 15 04:41 x09
-rw-r--r--. 1 root root         12 Apr 15 04:41 x10
[root@Amine ~]#
```


### مع تخصيص لاحقة
باستخدام الأمر split ، يمكننا إنشاء ملفات الإخراج المقسمة باستخدام لاحقة مخصصة. لنفترض أننا نريد إنشاء ملفات إخراج مقسمة مع تخصيص اللاحقة

#### بناء الجملة

```shell
# split  {file_name}  {prefix_name}
```

```shell
[root@amine ~]# split tuxlap.txt split_file_

[root@amine ~]# ll
total 1024248
-rw-------. 1 root root        980 Aug 12 00:15 anaconda-ks.cfg
-rwx------. 1 root root 1048576000 Apr 15 03:54 linux-lite.iso
-rw-r--r--. 1 root root      11998 Apr 15 04:56 split_file_aa
-rw-r--r--. 1 root root      12000 Apr 15 04:56 split_file_ab
-rw-r--r--. 1 root root      12000 Apr 15 04:56 split_file_ac
-rw-r--r--. 1 root root      12000 Apr 15 04:56 split_file_ad
-rw-r--r--. 1 root root      12000 Apr 15 04:56 split_file_ae
-rw-r--r--. 1 root root      12000 Apr 15 04:56 split_file_af
-rw-r--r--. 1 root root      12000 Apr 15 04:56 split_file_ag
-rw-r--r--. 1 root root      12000 Apr 15 04:56 split_file_ah
-rw-r--r--. 1 root root      12000 Apr 15 04:56 split_file_ai
-rw-r--r--. 1 root root      12000 Apr 15 04:56 split_file_aj
-rw-r--r--. 1 root root         12 Apr 15 04:56 split_file_ak
-rw-r--r--. 1 root root     120010 Apr 15 04:39 tuxlap.txt
[root@amine ~]#
```


## مراجع

تصنيف:برامج يونكس القياسية
تصنيف:خدمات مواصفات يونكس المنفردة