split
Linux Command – split ใช้ในการแตก file ออกมาเป็น file เล็กๆหลาย file ตามจำนวนบรรทัดที่กำหนด
คำสั่ง
จากตัวอย่าง file มีทั้งหมด 18 บรรทัด
$ cat file 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
1. ทำการแบ่ง file ตามจำนวนบรรทัดที่กำหนด
split <filename> -l <number of line>
จากตัวอย่างคือ ใส่ option -l 4 ลงไป program จะทำการแบ่งออกมา file ละ 4 บรรทัดจำนวน 5 file
$ split file -l 4
$ ls -ltr
total 24
-rw-r--r-- 1 root root 45 May 10 01:11 file
-rw-r--r-- 1 root root 6 May 10 01:17 xae
-rw-r--r-- 1 root root 12 May 10 01:17 xad
-rw-r--r-- 1 root root 11 May 10 01:17 xac
-rw-r--r-- 1 root root 8 May 10 01:17 xab
-rw-r--r-- 1 root root 8 May 10 01:17 xaa
$ cat xaa
1
2
3
4
$ cat xab
5
6
7
8
$ cat xac
9
10
11
12
$ cat xad
13
14
15
16
$ cat xae
17
18
2. สามารถตั้งชื่อ prefix ของ file ที่แบ่งออกมาได้
split <filename> <prefix> -l <number of line> -d
ใส่ prefix ตามหลัง filename และ -d เพื่อให้ suffix เป็นตัวเลข
$ split file split -l 4 -d $ ls -ltr total 24 -rw-r--r-- 1 root root 45 May 10 01:11 file -rw-r--r-- 1 root root 6 May 10 01:21 split04 -rw-r--r-- 1 root root 12 May 10 01:21 split03 -rw-r--r-- 1 root root 11 May 10 01:21 split02 -rw-r--r-- 1 root root 8 May 10 01:21 split01 -rw-r--r-- 1 root root 8 May 10 01:21 split00
โครงสร้างคำสั่ง
split [OPTION]... [FILE [PREFIX]]
รายละเอียด
เป็นคำสั่งที่ใช้ในการแตก file ออกมาเป็น file เล็กๆหลาย file ตามจำนวนบรรทัดที่กำหนด สามาถกำหนดได้ว่าจะให้สร้าง file ด้วย prefix อย่างไร และ file ละกี่บรรทัด ซึ่งจะต่างกับ csplit ที่ต้องกำหนดว่าแต่ละ file จะมีกี่บรรทัดทุก file
Option
Mandatory arguments to long options are mandatory for short options too. -a, --suffix-length=N generate suffixes of length N (default 2) --additional-suffix=SUFFIX append an additional SUFFIX to file names -b, --bytes=SIZE put SIZE bytes per output file -C, --line-bytes=SIZE put at most SIZE bytes of records per output file -d use numeric suffixes starting at 0, not alphabetic --numeric-suffixes[=FROM] same as -d, but allow setting the start value -e, --elide-empty-files do not generate empty output files with '-n' --filter=COMMAND write to shell COMMAND; file name is $FILE -l, --lines=NUMBER put NUMBER lines/records per output file -n, --number=CHUNKS generate CHUNKS output files; see explanation below -t, --separator=SEP use SEP instead of newline as the record separator; '\0' (zero) specifies the NUL character -u, --unbuffered immediately copy input to output with '-n r/...' --verbose print a diagnostic just before each output file is opened --help display this help and exit --version output version information and exit The SIZE argument is an integer and optional unit (example: 10K is 10*1024). Units are K,M,G,T,P,E,Z,Y (powers of 1024) or KB,MB,... (powers of 1000).
กลุ่มคำสั่ง
Reference:
Author: Suphakit Annoppornchai
Credit: https://saixiii.com