Wednesday, April 11, 2007

Split files in Linux

Split a file into pieces.


split [-linecount | -l linecount ] [ -a suffixlength ] [file [name] ]

split -b n [k | m] [ -a suffixlength ] [ file [name]]

-linecount | -l linecount Number of lines in each piece. Defaults to 1000 lines.
-a suffixlength Use suffixlength letters to form the suffix portion of the filenames of the split file. If -a is not specified, the default suffix length is 2. If the sum of the name operand and the suffixlength option-argument would create a filename exceeding NAME_MAX bytes, an error will result; split will exit with a diagnostic message and no files will be created.
-b n Split a file into pieces n bytes in size.
-b n k Split a file into pieces n*1024 bytes in size.
-b n m Split a file into pieces n*1048576 bytes in size.
file The path name of the ordinary file to be split. If no input file is given or file is -, the standard input will be used.
name The prefix to be used for each of the files resulting from the split operation. If no name argument is given, x will be used as the prefix of the output files. The combined length of the basename of prefix and suffixlength cannot exceed NAME_MAX bytes; see OPTIONS.


split -b 22 newfile.txt new - would split the file "newfile.txt" into three separate files called newaa, newab and newac each file the size of 22.

split -l 300 file.txt new - would split the file "newfile.txt" into files beginning with the name "new" each containing 300 lines of text each

source here


Raja said...

how abt merge

Hunter said...

to merge you can use: cat /file1 /file2..n > /merged-file