11-03-2005
dynamically split the records
Hi,
I was wandering would it be possible to split the record dynamically based on the certain values, for an instance
i have a file with record with predefined split value i.e 10
col1 col2 col3 col4
------------------------
aaaa bbbb 2 44aaaabbbb55cccddd1110
mmn xnmn 3 808klmbbhm90bvnbvnbvnvn
so for the first row col3 has 2, so col4 need to split of 2 parts of 10 chars each,likewise for second record col4 need to be split into 3 parts of 10 chars
so the final normalised output should look like
col1 col4
----------------
aaaa 44aaaabbbb
aaaa 55cccddd11
mmn 808klmbbhm
mmn 90bvnbvnbv
would this be possible in shell scripting ?
Thanks in advance
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
HI,
I have a pipe delimiter file , I have to search for second field pattern, if the second field does not contain a '-' , I need to start capturing the record from this line till I find another second field with '-' value.
Below is the sample data
SOURCE DATA
ABC|ABC_702148-PARAM... (3 Replies)
Discussion started by: mora
3 Replies
2. Shell Programming and Scripting
Hi All,
I want my file to be split based on value of 'N' (passed as argument). If value of 'N' is '2' then 4 new files will be generated from the below source file and the o/p file shoud look like File_$num , where num will be incremental.
Source file:
1
2
3
4
5
O/p Files:
... (6 Replies)
Discussion started by: HemaV
6 Replies
3. Shell Programming and Scripting
Hi All,
I am trying to split a record into multiple records based on a value.
Input.txt
"A",1,0,10
"B",2,0,10,15,20
"C",3,11,14,16,19,21,23
"D",1,0,5
My desired output is:
"A",1,0,10
"B",2,0,10
"B",2,15,20
"C",3,11,14
"C",3,16,19
"C",3,21,23 (4 Replies)
Discussion started by: kmsekhar
4 Replies
4. Shell Programming and Scripting
Hi, I receive a file that has Master record followed by one/more Child Records as shown below & also as attached in the file.
Now , The key for the child record is from pos 4 to position 80 in the parent record, now the requirement is to create two files
1. Parent file --> has all the parent... (1 Reply)
Discussion started by: KNaveen
1 Replies
5. Shell Programming and Scripting
I have a flat file with 2 columns
Id,loc
1,nj:ny:pa
2,pa
3,ca:tx:fl:nj
Second colum data is seperated by semi colon and can i have many locations for one id
Output i need is
1,nj
1,ny
1,pa
1,pa
3,ca
3,tx
3,fl (1 Reply)
Discussion started by: traininfa
1 Replies
6. Shell Programming and Scripting
I have to split a file based on number of lines and the below command works fine:
split -l 2 Inputfile -d OutputfileMy input file contains header, detail and trailor info as below:
H
D
D
D
D
TMy split files for the above command contains:
First File:
H
DSecond File:
... (11 Replies)
Discussion started by: Ajay Venkatesan
11 Replies
7. Shell Programming and Scripting
Hello ,
I have a flat file ( comma separated ) and want to split dynamically .
If I provide input 3 then rows 1,4,7 will o/p to a file and rows 2,5,8 will redirect to 2nd file and 3,6,9 rows will go to 3rd file
So 3 files will be generated .
Could it be possible in Unix? (2 Replies)
Discussion started by: Pratik4891
2 Replies
8. Shell Programming and Scripting
Hi
I have a file
$cat test
a,1;2;3
b,4;5;6;7
c,8;9
I want to split each record to multiple based on semicolon in 2nd field.
i.e
a,1
a,2
a,3
b,4
b,5 (3 Replies)
Discussion started by: Shivdatta
3 Replies
9. Shell Programming and Scripting
Hi,
I have one tab delimited file which is having multiple store_ids in first column seprated by pipe.I want to split the file on the basis of store_id(separating 1st record in to 2 records ).
I tried some more options like below with using split,awk etc ,But not able to get proper output. can... (1 Reply)
Discussion started by: jaggy
1 Replies
10. Shell Programming and Scripting
Hi guys,
I have a file with 10000 entries (there are 2 columns. the first column contains the the product name and the second column contains the quantity of each product).
I would like to split this file into 5 different files. I want the 1st entry to go to the fileA the 2nd entry to fileB... (3 Replies)
Discussion started by: coweb
3 Replies
SPLIT(1) BSD General Commands Manual SPLIT(1)
NAME
split -- split a file into pieces
SYNOPSIS
split [-a suffix_length] [-b byte_count[k|m]] [-l line_count] [-p pattern] [file [name]]
DESCRIPTION
The split utility reads the given file and breaks it up into files of 1000 lines each. If file is a single dash ('-') or absent, split reads
from the standard input.
The options are as follows:
-a suffix_length
Use suffix_length letters to form the suffix of the file name.
-b byte_count[k|m]
Create smaller files byte_count bytes in length. If ``k'' is appended to the number, the file is split into byte_count kilobyte
pieces. If ``m'' is appended to the number, the file is split into byte_count megabyte pieces.
-l line_count
Create smaller files n lines in length.
-p pattern
The file is split whenever an input line matches pattern, which is interpreted as an extended regular expression. The matching line
will be the first line of the next output file. This option is incompatible with the -b and -l options.
If additional arguments are specified, the first is used as the name of the input file which is to be split. If a second additional argument
is specified, it is used as a prefix for the names of the files into which the file is split. In this case, each file into which the file is
split is named by the prefix followed by a lexically ordered suffix using suffix_length characters in the range ``a-z''. If -a is not speci-
fied, two letters are used as the suffix.
If the name argument is not specified, the file is split into lexically ordered files named with the prefix ``x'' and with suffixes as above.
ENVIRONMENT
The LANG, LC_ALL, LC_CTYPE and LC_COLLATE environment variables affect the execution of split as described in environ(7).
EXIT STATUS
The split utility exits 0 on success, and >0 if an error occurs.
SEE ALSO
csplit(1), re_format(7)
STANDARDS
The split utility conforms to IEEE Std 1003.1-2001 (``POSIX.1'').
HISTORY
A split command appeared in Version 3 AT&T UNIX.
BUGS
The maximum line length for matching patterns is 65536.
BSD
August 21, 2005 BSD