Split files using Csplit

Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Split files using Csplit
# 8  
Old 12-01-2007

If your Excel file is in native format, another possibility is to look at:
binp/xls2tsv - filter Excel worksheets into tab-separated text at Steve Kinzler - Home Directory -- then using a split or csplit to slice up your file.

It may require that a few perl modules from CPAN are available on your system, so if you are not comfortable installing those, then this is not a useful idea.

If your problem is a transfer limitation (e.g. some limit of the ftp server with which you are working), then standard split will split at a specific number of bytes. A brief look at fsplit suggests that it will work as well, and is described as working with a binary file, which I interpret as any file, because it uses dd, and dd is does not look at line structures. (Do not confuse that fsplit with a similarly-named fsplit which parses Fortran modules.)

Best wishes ... cheers, drl
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Automate splitting of files , scp files as each split completes and combine files on target server

i use the split command to split a one terabyte backup file into 10 chunks of 100 GB each. The files are split one after the other. While the files is being split, I will like to scp the files one after the other as soon as the previous one completes, from server A to Server B. Then on server B ,... (2 Replies)
Discussion started by: malaika
2 Replies

2. UNIX for Beginners Questions & Answers

Split and Rename Split Files

Hello, I need to split a file by number of records and rename each split file with actual filename pre-pended with 3 digit split number. What I have tried is the below command with 2 digit numeric value split -l 3 -d abc.txt F (# Will Produce split Files as F00 F01 F02) How to produce... (19 Replies)
Discussion started by: techedipro
19 Replies

3. Shell Programming and Scripting

split file by delimiter with csplit

Hello, I want to split a big file into smaller ones with certain "counts". I am aware this type of job has been asked quite often, but I posted again when I came to csplit, which may be simpler to solve the problem. Input file (fasta format): >seq1 agtcagtc agtcagtc ag >seq2 agtcagtcagtc... (8 Replies)
Discussion started by: yifangt
8 Replies

4. UNIX for Dummies Questions & Answers

csplit to stdout

I want to split big files based on a pattern to stdout. Although csplit works well for me splitting the output into separate files (e.g. xx00, xx01, xx02, ...), the following is not working as expected: <code> # assuming pattern occurs less than 100 times csplit bigfile '%pattern%'... (2 Replies)
Discussion started by: uiop44
2 Replies

5. Shell Programming and Scripting


I have a file with contents <wmqi> sdf sdf sdffghghhjjfh </wmqi> <wmqi> gh dfg hhjhj sdfsdf g </wmqi> <wmqi> dfgdf fg dfgfg </wmqi> <wmqi> (6 Replies)
Discussion started by: Shivdatta
6 Replies

6. Shell Programming and Scripting

csplit issue

Hello all The below command works perfeft when executed from the shell prompt. "csplit -f first Allocation.log.1 "%. Oct 02 .%" {1} " and generates first00 file. But it fails if I include the same command in my script. I am trying to automate some process and this is turning... (1 Reply)
Discussion started by: uandme2k2
1 Replies

7. UNIX for Dummies Questions & Answers

naming files that csplit creates

Hi, This is my first time on this forum.. I searched the previous answers, but didn't find the answer I was looking for at first glance. csplit works beautifully for me, except for one thing. My file looks like this: ad|name1|asdf...(several pages)..asdf ... ad|name2|asdf...(several... (8 Replies)
Discussion started by: juliette salexa
8 Replies

8. Shell Programming and Scripting

Problem with csplit

Hi All, I have a strange behaviour from csplit command on some text files. I have a comma separated file and data with in double quotes. This file is being generated from Sequential stage of Data stage tool. This file has 67 fields in each records with some null and blank in the data.... (4 Replies)
Discussion started by: shreekrishnagd
4 Replies

9. UNIX for Dummies Questions & Answers

Split a file with no pattern -- Split, Csplit, Awk

I have gone through all the threads in the forum and tested out different things. I am trying to split a 3GB file into multiple files. Some files are even larger than this. For example: split -l 3000000 filename.txt This is very slow and it splits the file with 3 million records in each... (10 Replies)
Discussion started by: madhunk
10 Replies

10. UNIX for Advanced & Expert Users

csplit not behaving

I have a large file with the first 2 characters of each line determining the type of record. type 03 being a subheader and then it will have multiple 04 records. eg: 03,xxx,xxxx,xxxx 04,xxxxxxxxxxxxxxxxxxxxxxxxxxxx 04,xxxxxxxxxxxxxxxxxxxxxxxxxxxx 03,xxx,xxx,xxx ... (2 Replies)
Discussion started by: badg3r
2 Replies
Login or Register to Ask a Question
CSPLIT(1)						    BSD General Commands Manual 						 CSPLIT(1)

csplit -- split files based on context SYNOPSIS
csplit [-ks] [-f prefix] [-n number] file args ... DESCRIPTION
The csplit utility splits file into pieces using the patterns args. If file is a dash ('-'), csplit reads from standard input. The options are as follows: -f prefix Give created files names beginning with prefix. The default is ``xx''. -k Do not remove output files if an error occurs or a HUP, INT or TERM signal is received. -n number Use number of decimal digits after the prefix to form the file name. The default is 2. -s Do not write the size of each output file to standard output as it is created. The args operands may be a combination of the following patterns: /regexp/[[+|-]offset] Create a file containing the input from the current line to (but not including) the next line matching the given basic regular expression. An optional offset from the line that matched may be specified. %regexp%[[+|-]offset] Same as above but a file is not created for the output. line_no Create containing the input from the current line to (but not including) the specified line number. {num} Repeat the previous pattern the specified number of times. If it follows a line number pattern, a new file will be created for each line_no lines, num times. The first line of the file is line number 1 for historic reasons. After all the patterns have been processed, the remaining input data (if there is any) will be written to a new file. Requesting to split at a line before the current line number or past the end of the file will result in an error. ENVIRONMENT
The LANG, LC_ALL, LC_COLLATE and LC_CTYPE environment variables affect the execution of csplit as described in environ(7). EXIT STATUS
The csplit utility exits 0 on success, and >0 if an error occurs. EXAMPLES
Split the mdoc(7) file foo.1 into one file for each section (up to 20): csplit -k foo.1 '%^.Sh%' '/^.Sh/' '{20}' Split standard input after the first 99 lines and every 100 lines thereafter: csplit -k - 100 '{19}' SEE ALSO
sed(1), split(1), re_format(7) STANDARDS
The csplit utility conforms to IEEE Std 1003.1-2001 (``POSIX.1''). HISTORY
A csplit command appeared in PWB UNIX. BUGS
Input lines are limited to LINE_MAX (2048) bytes in length. BSD
January 26, 2005 BSD

Featured Tech Videos