03-27-2009
Splitting the file based on logic
Hello
I have a requirement where i need to split the Input fixed width file which contains multiple invoices into multiple files with 2 invoices per file.
Each invoice can be identified by its first line's second character which is "H" and sixth character is " " space and the invoice would end when the invoices last line's second character is "T" and sixth character is "M" and the next line would be second invoice.
I have pasted the model data which contains 4 invoices. I need to split the input data into two files with each file having 2 invoices each.
Each invoice can contain any noof transcations.
4H000 000 000
4H000A000 000
4L003M002 000
4L004 000 000
4L004M001 000
4L004M002 000
4T999 000 000
4T999M000 001
4T999M000 002
4H000 000 000
4H000A000 000
4L003M002 000
4L004 000 000
4L004 000 000
4L004M001 000
4L004M002 000
4T999 000 000
4T999M000 001
4H000 000 000
4H000A000 000
4L003M002 000
4L004 000 000
4L004M001 000
4L004M002 000
4T999 000 000
4T999M000 001
4H000 000 000
4H000A000 000
4L003M002 000
4L004 000 000
4L004M001 000
4L004M002 000
4T999 000 000
4T999M000 001
The first file should contain 2 invoices like this
4H000 000 000
4H000A000 000
4L003M002 000
4L004 000 000
4L004M001 000
4L004M002 000
4T999 000 000
4T999M000 001
4T999M000 002
4H000 000 000
4H000A000 000
4L003M002 000
4L004 000 000
4L004 000 000
4L004M001 000
4L004M002 000
4T999 000 000
4T999M000 001
The second file should contain 2 invoices like this
4H000 000 000
4H000A000 000
4L003M002 000
4L004 000 000
4L004M001 000
4L004M002 000
4T999 000 000
4T999M000 001
4H000 000 000
4H000A000 000
4L003M002 000
4L004 000 000
4L004M001 000
4L004M002 000
4T999 000 000
4T999M000 001
Need help on this. Appreciate
Thanks
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I need to split a file based on certain context inside the file. Is there a unix command that can do this? I have looked into split and csplit but it does not seem like those would work because I need to split this file based on certain text. The file has multiple records and I need to split this... (1 Reply)
Discussion started by: matrix1067
1 Replies
2. Shell Programming and Scripting
Hi,
I'm, new to shell scripting, I have a requirement where I have to split an incoming file into separate files each containing a maximum of 3 million rows.
For e.g: if my incoming file say In.txt has 8 mn rows then I need to create 3 files, in which two will 3 mn rows and one will contain 2... (2 Replies)
Discussion started by: wahi80
2 Replies
3. Shell Programming and Scripting
Dear friends,
I receive the following files into a FTP location on a daily basis
-rw-r----- 1 guest ftp1 5021 Aug 19 09:03 CHECK_TEST_Extracts_20080818210000.zip
-rw-r----- 1 guest ftp1 2437 Aug 20 05:15 CHECK_TEST_Extracts_20080819210000.zip
-rw-r----- 1 guest ... (2 Replies)
Discussion started by: sureshg_sampat
2 Replies
4. Shell Programming and Scripting
Hi there,
I've an input file as follows:
*START
1001 a1
1002 a2
1003 a3
1004 a4
*END
*START
1001 b1
1002 b2
1004 b4
*END
*START
1001 c1
1004 c4
*END (6 Replies)
Discussion started by: kbirde
6 Replies
5. UNIX for Dummies Questions & Answers
I have an input file of this format
<Date><other data>
For example,
20081213aaaaaaaaa
20081213bbbbbbbbb
20081220ccccccccc
20081220ddddddddd
20081220eeeeeeeee
20081227ffffffffffffff
The first 8 chars are date in YYYYMMDD formT. I need to split this file into n files where n is the... (9 Replies)
Discussion started by: paruthiveeran
9 Replies
6. Shell Programming and Scripting
I have file as shown below. Would like to split the file based on the context of data.
Like, split the content between "---- XXX Info ----" and "
---- YYY Info ----" to a file.
When I try using below command, 2nd file contains all the info starting after first "---- YYYY Info ----" instance.... (8 Replies)
Discussion started by: webkid
8 Replies
7. Shell Programming and Scripting
Hi all,
I have a file (say file.txt) which contains comma-separated rows. Each row has seven columns. Only column 4 or 5 (not both) can have empty values like "" in each line.
Sample lines
So, now i want all the rows that have column 4 as "" go in file1.txt and all the rows that have column... (8 Replies)
Discussion started by: jakSun8
8 Replies
8. Shell Programming and Scripting
I have a file as below
pema.txt
s2dhshfu dshfkdjh dshfd
rjhfjhflhflhvflxhvlxhvx vlvhx
sfjhldhfdjhldjhjhjdhjhjxhjhxjxh
sjfdhdhfldhlghldhflhflhfhldfhlsh
rjsdjh#error occured#
skjfhhfdkhfkdhbvfkdhvkjhfvkhf
sjkdfhdjfh#error occured#
my requirement is to create 3 files frm the... (8 Replies)
Discussion started by: pema.yozer
8 Replies
9. Shell Programming and Scripting
Hi I have a file with over a million lines (rows) and I want to split everything from 500,000 to a million into another file (to make the file smaller). Is there a simple command for this?
Thank you
Phil (4 Replies)
Discussion started by: phil_heath
4 Replies
10. UNIX for Beginners Questions & Answers
Hi All,
I am having a problem. I tried to extract the chunk of data and tried to fix I am not able to. Any help please
Basically I need to remove the for , values after K,
this is how it is now
A,,
B,
C,C,
D,D,
12/04/10,12/04/10,
K,1,1,1,1,0,3.0,
K,1,1,1,2,0,4.0,... (2 Replies)
Discussion started by: arunkumar_mca
2 Replies
LEARN ABOUT NETBSD
usleep
USLEEP(3) BSD Library Functions Manual USLEEP(3)
NAME
usleep -- suspend execution for interval of microseconds
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <unistd.h>
int
usleep(useconds_t microseconds);
DESCRIPTION
The usleep() function suspends execution of the calling process until either the number of microseconds specified by microseconds have
elapsed or a signal is delivered to the calling process and its action is to invoke a signal catching function or to terminate the process.
The suspension time may be longer than requested due to the scheduling of other activity by the system.
The microseconds argument must be less than 1,000,000. If the value of microseconds is 0, then the call has no effect.
RETURN VALUES
On successful completion, usleep() returns 0. Otherwise, it returns -1 and sets errno to indicate the error.
ERRORS
The usleep() function may fail if:
[EINVAL] The microseconds interval specified 1,000,000 or more microseconds.
SEE ALSO
nanosleep(2), sleep(3)
STANDARDS
The usleep() function conforms to X/Open Portability Guide Issue 4, Version 2 (``XPG4.2''). It later appeared in the POSIX standard, but in
IEEE Std 1003.1-2004 (``POSIX.1'') it was marked as legacy and the use of nanosleep(2) was recommended instead. The IEEE Std 1003.1-2008
(``POSIX.1'') revision removed usleep() from the specification.
HISTORY
The usleep() function appeared in 4.3BSD.
BSD
April 29, 2010 BSD