The split command in Linux is useful when dealing with a large file or when you want to divide your document into different parts. In this article, I will discuss the “split” command in detail, including its syntax, options, and examples of how it can be used in real-world scenarios.
A. Description
The “split” command in Linux is a useful utility for dividing large files into smaller, more manageable pieces. Whether you need to break up a large text file for processing or transferring, the “split” command provides an efficient solution.
B. Syntax
The syntax of the split command in Linux is simple, as shown below.
split [OPTION]... FILE [PREFIX]
C. Options
The split command has multiple options available. Here, I have listed a few of them. However, you can learn more about the split command, its options, and their uses by checking the man page.
man split
Useful Options
- -a, –suffix-length=N: Generates suffixes of length N (default 2).
- –additional-suffix=SUFFIX: Adds an additional SUFFIX to file names.
- -b, –bytes=SIZE: You can use it to specify the size of each output file in bytes.
- -C, –line-bytes=SIZE: Determines the maximum size per output file.
- -d: Changes the default alphabetic suffixes to numeric suffixes starting at 0.
- –numeric-suffixes[=FROM]: Same as -d, but allows setting the start value.
- -x: Generates hexadecimal suffixes starting from 0.
- –hex-suffixes[=FROM]:It works in the same way as ‘-x’, but allows setting the start value.
- -e, –elide-empty-files: Prevents the generation of empty output files with the -n option.
- -l, –lines=NUMBER: Splits a document into specific line numbers.
- -n, –number=CHUNKS:Generates CHUNKS output files.
- –verbose: Prints each execution detail in the terminal.
- –help: Displays this help.
- –version: Outputs version information.
Practical Examples of the “split” Command in Linux
In Linux, the split command is a useful tool for breaking up large files into smaller, more manageable parts. In the section below, I will show you some of the most useful applications for the split command in Linux.
Example 1: Split The Files into a Specific Number Of Files Using the “split” Command in Linux
The split command in Linux allows you to split a large file into multiple parts or files simply using the option -n. I have a file named “hamlet” in my home directory Here, I will split the document into 15 files using the split command. You can do the same with any of your documents by following the steps below.
Steps to Follow >
➊ At first, open the Ubuntu Terminal.
➋ After that execute the command, which will show you the contents of your current directory.
ls
➌ Tap the ENTER key again.
➍ Then, run the following command to split the desired document.
split hamlet -n 15
➎ After that, press the ENTER key.
➏ Now, run the command to check the newly created file.
ls
➐ Finally, Press ENTER again.
Output >
In the following image, you can see that new 15 files are created after splitting the file named “hamlet”.
Similar Readings
- The “grep” Command in Linux [10+ Practical Examples]
- The “wc” Command in Linux [15 Practical Examples]
- The “sort” Command in Linux [16 Practical Examples]
Example 2: Split Files into Multiple Files With Specific Line Numbers
You can split a document into multiple files by specifying the maximum line numbers for each new file. To do this you have to use the -l option with the split command. Now, I will split the “hamlet” file into multiple files by specifying the maximum line number of “3000” for each new file. You can do the same by following the steps below.
Steps to Follow >
➊ First, open the Ubuntu Terminal.
➋ Next, run the command to see the total line number of the “hamlet” file.
wc -l hamlet
➌ Then, press the ENTER button.
➍ Next, execute the command, which will split the main file into multiple files having a maximum of 3000 lines.
split -l 3000 hamlet
➎ After that, press the ENTER key
➏ Now, run the command to check the new files that are created after splitting the main file.
ls
➐ Then, press the ENTER key.
➑ To check the number of lines of each newly created file by running the command below.
wc -l xa*
➒ Finally, tap the ENTER button.
Output >
In the image below, I illustrated the process of splitting a large file based on the line numbers.
Example 3: Split Files With Custom Name Prefix Using the “split” Command in Linux
The split command allows you to specify the prefix of the name of the newly created files. Here, I will split the file named “hamlet” and name the new files with the prefix ‘part_’. You can do the same by following the steps below.
Steps to Follow >
➊ Open the Ubuntu Terminal.
➋ Execute the command to see the contents of the current directory.
ls
➌ Then, press the ENTER key.
➍ Now, run the following command to split the file with a custom name prefix. In this case, I have used “part_” as a prefix.
split hamlet part_
➎ Next hit the ENTER button.
➏ To see the current content status in the directory, run the command given below.
ls
➐ Finally, tap the ENTER button.
Output >
In the following image, you can see that I have split the file named “hamlet” into multiple parts with the prefix of the name “part_”.
Similar Readings
- The “nano” Command in Linux [13 Practical Examples]
- The “cut” Command in Linux [8 Practical Examples]
- The “jed” Command in Linux [8 Practical Examples]
Example 4: Split a Large File into Parts by Naming them in Numerically Ordered Suffixes of Specified Suffix Length
You can specify the suffix length with the option -a and can change the default alphabetic suffixes to numeric suffixes using option -d. Here, I will set the name of the newly generated file as part_00000, part_00001, part_00002, and so on by executing the following steps. You may follow them to do the same.
Steps to Follow >
➊ Open the Ubuntu Terminal.
➋ Next, execute the command.
ls
➌ Press the ENTER button.
➍ Now, Run the command below to split the file with the desired suffix.
split hamlet part_ -a 5 -d
➎ After that, hit the ENTER key again.
➏ Now, run the below command.
ls
➐ Finally, press the ENTER key.
Output >
The below image shows that I have split the hamlet file and named them in “part_0000*” format with a suffix length of “5”.
Example 5: Split Files into Multiple Files of Specific Size Using the “split” Command in Linux
The split command allows you to specify the file size that will be generated after executing the split command. To specify the file size, you can use the -b option. Here, I will split the file named hamlet into multiple files with a file size of 528 KB.
Steps to Follow >
➊ At first, open the Ubuntu Terminal.
➋ Next, execute the command below.
ls
➌ Tap the ENTER key again.
➍ Then, run the command to split the hamlet file into multiple parts.
split helmet part- -d -b 528KB
➎ After that, press the ENTER key.
➏ Now, run the command to check the file size of the newly created files.
ls -l pa*
➐ Finally, press ENTER again.
Output >
In the following image, you can see that I have split the file named hamlet into multiple files of size equal to or less than 528 KB.
Similar Readings
- The “vi” Command in Linux [6 Practical Examples]
- The “vim” Command in Linux [8 Practical Examples]
- The “egrep” Command in Linux [10+ Practical Examples]
Example 6: Omit Files With Zero Size Using the “split” Command in Linux
To avoid zero-sized output files during file splitting, use the -e option when using the split command. For example, to split the “hamlet” file into 15 files without generating any zero-sized files you can follow the steps mentioned below.
Steps to Follow >
➊Open the Ubuntu Terminal.
➋ Then, execute the command below.
ls
➌ Now, tap the ENTER button.
➍ Next, execute the following command.
split -n 15 -e -d hamlet
➎ Then, press the ENTER key.
➏ Type the following command to see the file sizes.
ls -l
➐ Press ENTER again.
Output >
In the following image, you can see that there is no file with zero sizes generated after executing the split command with the -e option.
Conclusion
The split command is a powerful tool for managing large files in Linux. Whether you are dealing with large text files or need to break up a file for easier processing or transfer, the split command is a versatile and efficient solution. Through the practical examples covered in this article, I hope that you will have a better understanding of how the “split” command works and how you can utilize it in your own projects.
Similar Readings
- The “paste” Command in Linux [6 Practical Examples]
- The “sed” Command in Linux [7 Practical Examples]
- The “tr” Command in Linux [6 Practical Examples]
- The “uniq” Command in Linux [6 Practical Examples]
- The “printf” Command in Linux [8 Practical Examples]
FUNDAMENTALS A Complete Guide for Beginners