11-09-2004
From your code, I assume the following: You have a list of filenames in "filea", and you then want to split this into files of 100 lines each?
Use the "split" command instead. All you'd need is
split -l 100 filea
You can specify an optional prefix, etc. "man split"...
If you don't specify the prefix, this will create files such as fileaaa, fileaab, fileaac each with 100 lines a piece.
There is no need for complex head/tail shenanigans.
If you are expecting more than 67600 lines in the first input file, this would exhaust all suffixes (aa through to zz), so specify a greater suffix length with -a.
Hope this helps,
Cheers
ZB
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
hai
in my shell script i want to replace the following commands
1) more
2) head
3) tail
i want to try all type of possible options avaliabul in the above commands
please help in implementing those commands (9 Replies)
Discussion started by: g_s_r_c
9 Replies
2. Shell Programming and Scripting
I am new to UNIX......I have one file which contains thousnads of records with header and tailer.
Header
Record 1
Record 2
....
....
Last Record
Trailer
I want to concatenate Header and Trailer in the first line....now the output should look like this:
Header: Header value, Trailer:... (2 Replies)
Discussion started by: 33junaid
2 Replies
3. Shell Programming and Scripting
Hi,
I have been given assignment of 30 scripts out of which I was able to solve many, I need help with few out of which one asks to imitate head and tail command of unix without using the head and tail commands. Problem is stated below:
Write an interactive shell script to imitate the head... (5 Replies)
Discussion started by: nutalk
5 Replies
4. Shell Programming and Scripting
Hi, I only have a very limited understanding and experience with writing code and I was hoping I could get some help.
I have a dataset of two columns (txt format, numbers in each row separated by a tab)
Eg.
1 5
2 5
3 6
4 7
5 6
6 6
7 ... (5 Replies)
Discussion started by: Emred_Skye
5 Replies
5. Shell Programming and Scripting
Hi,
As part of our project, we need to load historical data for a year before our system is live. We have the data feed files that we need to load. However, I need to make sure that the file structure (number of fields separated by a comma) on the field is same for all the files of the same... (1 Reply)
Discussion started by: raj.jha
1 Replies
6. UNIX for Dummies Questions & Answers
hay i need to display middle line:
1
2
3
4
5
how can i display 3-4? (6 Replies)
Discussion started by: margan_ron
6 Replies
7. Homework & Coursework Questions
Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted!
1. The problem statement, all variables and given/known data:
view the 7th line of the program xxx.sh
2. Relevant commands, code, scripts, algorithms:
head command tail... (10 Replies)
Discussion started by: hbell221
10 Replies
8. UNIX for Dummies Questions & Answers
Hi All,
I am new to unix.
In this forum some days back, I have read something like below:
1) Do not use perl if awk can do your work.
2) Do not use awk if sed can do your work.
.
.
.
I do not re-collect the whole thing. I think it is good to know the precedence of using these... (2 Replies)
Discussion started by: Prathmesh
2 Replies
9. Homework & Coursework Questions
First month learning about the Linux terminal and it has been a challenge yet fun so far. We're learning by using a gameshell. I'm trying to display a certain line ( only allowed 1 command ) from a file only using the head or tail. I'm pretty about this answer:
head -23 history.txt | tail -1... (1 Reply)
Discussion started by: forzatekk
1 Replies
LEARN ABOUT NETBSD
csplit
CSPLIT(1) BSD General Commands Manual CSPLIT(1)
NAME
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.
Files are created with a prefix of ``xx'' and two decimal digits. The size of each file is written to standard output as it is created. If
an error occurs whilst files are being created, or a HUP, INT, or TERM signal is received, all files previously written are removed.
The options are as follows:
-f prefix Create file names beginning with prefix, instead of ``xx''.
-k Do not remove previously created files if an error occurs or a HUP, INT, or TERM signal is received.
-n number Create file names beginning with number of decimal digits after the prefix, instead of 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 reg-
ular 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.
The csplit utility exits 0 on success, and >0 if an error occurs.
ENVIRONMENT
The LANG, LC_ALL, LC_COLLATE, and LC_CTYPE environment variables affect the execution of csplit as described in environ(7).
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-2004 (``POSIX.1'').
HISTORY
A csplit command appeared in PWB UNIX.
BUGS
Input lines are limited to LINE_MAX (2048) bytes in length.
BSD
January 4, 2009 BSD