linux command

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).

 

กลุ่มคำสั่ง

csplist

 

Reference:

คำสั่ง Unix – Linux Command

Linux, Unix

 

Author: Suphakit Annoppornchai

Credit: https://saixiii.com

Leave a Reply