Split a line into next line


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Split a line into next line
# 1  
Old 04-09-2014
Split a line into next line

Hi All,

I have user input file like below:-
Code:
emplid|empl_name|salary|hire_date
1111|gro|3000|01/01/2014
1111|ghgo|4000|01/03/2014
1111|dkguo|5000|02/01/2014
1111|ehrt|6000|01/04/2014
1111|kfgtr|8000|03/01/2014

Sometimes input file will look like below.
Code:
emplid|empl_name|salary|hire_date1111|gro|3000|01/01/2014
1111|ghgo|4000|01/03/2014
1111|dkguo|5000|02/01/2014
1111|ehrt|6000|01/04/2014
1111|kfgtr|8000|03/01/2014

how to split the record from header.
Note:-Header is fixed length and I have to split record from the header only.
Please give me some suggestions’ .

Thanks advance.

Thanks,
Krupa

Last edited by Scott; 04-09-2014 at 06:43 AM.. Reason: Use code tags, please...
# 2  
Old 04-09-2014
Try:
Code:
sed '1s/./\
&/34' file

Some seds can do:
Code:
sed '1s/./\n&/34'


Last edited by Scrutinizer; 04-09-2014 at 07:29 AM.. Reason: I left out the & , thanks ygemici
# 3  
Old 04-09-2014
Split a line into next line

hi,

i tried with below commod, it is not working
Code:
sed '1s/./\n/34'

is there any other ways

thanks,
kk

Last edited by Franklin52; 04-09-2014 at 03:23 PM.. Reason: Please use code tags
# 4  
Old 04-09-2014
Quote:
Originally Posted by Scrutinizer
Try:
Code:
sed '1s/./\
> /34' file

Some seds can do:
Code:
sed '1s/./\n/34'

Hi Scru,
Maybe we add the reference of the pattern space for 34.charSmilie
Code:
# sed '1s/./\n&/34'

This User Gave Thanks to ygemici For This Post:
# 5  
Old 04-09-2014
Hehe, yes I left out the &, thanks ygemici Smilie . Corrected in my post..
# 6  
Old 04-09-2014
Quote:
Originally Posted by krupasindhu18
hi,

i tried with below commod, it is not working
sed '1s/./\n/34'

is there any other ways

thanks,
kk
try this
Code:
awk -vx="1111" 'NR==1{split($0,a,x);print a[1] RS x a[2];next}1' yourfile

# 7  
Old 04-09-2014
Hello,

Here is an awk approach for same.


Code:
awk 'NR==1{v=$0;next} NR==2{print v$0;next} 1' file_name

Output will be as follows.

Code:
emplid|empl_name|salary|hire_date1111|gro|3000|01/01/2014
1111|ghgo|4000|01/03/2014
1111|dkguo|5000|02/01/2014
1111|ehrt|6000|01/04/2014
1111|kfgtr|8000|03/01/2014


Thanks,
R. Singh
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Get an output of lines in pattern 1st line then 10th line then 11th line then 20th line and so on.

Input file: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 (6 Replies)
Discussion started by: Sagar Singh
6 Replies

2. Shell Programming and Scripting

Split a line

I have a very long line in a file separated by "|" delimiter like below. Due to the length of the line, I find it very difficult to read to find a match line. file = temp.txt word 1| word 2 | word 3|.... I would like to read the file temp.txt and print out all words line by line like... (1 Reply)
Discussion started by: boldnbeautiful
1 Replies

3. UNIX for Dummies Questions & Answers

Split Every Line In Txt Into Separate Txt File, Named Same As The Line

Hi All Is there a way to export every line into new txt file where by the title of each txt output are same as the line ? I have this txt files containing names: Kandra Vanhooser Rhona Menefee Reynaldo Hutt Houston Rafferty Charmaine Lord Albertine Poucher Juana Maes Mitch Lobel... (2 Replies)
Discussion started by: Nexeu
2 Replies

4. Shell Programming and Scripting

Read a File line by line and split into array word by word

Hi All, Hope you guys had a wonderful weekend I have a scenario where in which I have to read a file line by line and check for few words before redirecting to a file I have searched the forum but,either those answers dint work (perhaps because of my wrong under standing of how IFS... (6 Replies)
Discussion started by: Kingcobra
6 Replies

5. Shell Programming and Scripting

how to read the contents of two files line by line and compare the line by line?

Hi All, I'm trying to figure out which are the trusted-ips and which are not using a script file.. I have a file named 'ip-list.txt' which contains some ip addresses and another file named 'trusted-ip-list.txt' which also contains some ip addresses. I want to read a line from... (4 Replies)
Discussion started by: mjavalkar
4 Replies

6. UNIX for Dummies Questions & Answers

Using Awk to split a line

Hi, I have a file that contains multiple lines e.g. /Plane/Wing/Engine/Rotorblades I cannot use print $4 as the directories will be different lengths. All i would like to do is print the very last column in each line in the file i.e. in this case, Rotorblades. The code i... (4 Replies)
Discussion started by: crunchie
4 Replies

7. Shell Programming and Scripting

Split a line

I guess this has a simple solution but can't figure out now. having: x="H:a:b:c" to get H: echo $x|awk -F: {'print $1'} how can I put REST of line in another one? i.e. echo $rest a:b:c thanks ---------- Post updated at 08:58 PM ---------- Previous update was at... (5 Replies)
Discussion started by: garagonp
5 Replies

8. Shell Programming and Scripting

split single line into two line or three lines

Dear All, I want to split single line into two line or three lines wherever “|” separated values comes using Input line test,DEMTEMPUT20100404010012,,,,,,,,|0070086|0070087, output shoule be test,DEMTEMPUT20100404010012,,,,,,,,0070086, test,DEMTEMPUT20100404010012,,,,,,,,0070087, (14 Replies)
Discussion started by: arvindng
14 Replies

9. Shell Programming and Scripting

Split a line on positions before reading complete line

Hi, I want to split before reading the complete line as the line is very big and its throwing out of memory. can you suggest. when i say #cat $inputFile | while read eachLine and use the eachLine to split its throwing out of memory as the line size is more than 10000000 characters. Can you... (1 Reply)
Discussion started by: vijaykrc
1 Replies

10. Shell Programming and Scripting

Split line before the pattern

Hi, I am trying to use awk to split line before the pattern: abcde 12345 67890 abcde 12345 67890 abcde 12345 67890 abcde 12345 67890 abcde 12345 67890 abcde 12345 67890 abcde 12345 67890 I need it to be like this: abcde 12345 67890 abcde 12345 67890 abcde 12345 67890 abcde... (7 Replies)
Discussion started by: djanu
7 Replies
Login or Register to Ask a Question