Replace 3rd occurance of SPACE with newline


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Replace 3rd occurance of SPACE with newline
# 1  
Old 04-07-2014
Replace 3rd occurance of SPACE with newline

I have file with SQL output as

Code:
0001 firstname1 lastname1 0002 firstname2 lastname2 0003 firstname3 lastname3 0004 firstname4 lastname4

Expected output :
Code:
0001 firstname1 lastname1 
0002 firstname2 lastname2 
0003 firstname3 lastname3 
0004 firstname4 lastname4

Let me know if this can be done with simple AWK or SED one liner

Of if I need to do it by updating SQL query which is input to this file, please help me with the sql query details.
Right now my .sql query redirects all output in one single line only.

Last edited by Scrutinizer; 04-07-2014 at 09:50 AM.. Reason: code tags
# 2  
Old 04-07-2014
Which database? Can you show your sql script?
# 3  
Old 04-07-2014
Code:
$ cat file
0001 firstname1 lastname1 0002 firstname2 lastname2 0003 firstname3 lastname3 0004 firstname4 lastname4

Code:
$ awk 'ORS = !(NR%3)? "\n" : FS ' RS=" "  file
0001 firstname1 lastname1
0002 firstname2 lastname2
0003 firstname3 lastname3
0004 firstname4 lastname4

Code:
$ awk '{ for(i=1;i<=NF;i++)printf $i ( i%3 == 0 ? RS : FS ) }'  file
0001 firstname1 lastname1 
0002 firstname2 lastname2 
0003 firstname3 lastname3 
0004 firstname4 lastname4


Last edited by Akshay Hegde; 04-07-2014 at 11:15 AM..
These 2 Users Gave Thanks to Akshay Hegde For This Post:
# 4  
Old 04-08-2014
Try also
Code:
tr ' ' '\n' <file | paste -s -d'  \n'
0001 firstname1 lastname1
0002 firstname2 lastname2
0003 firstname3 lastname3
0004 firstname4 lastname4

Be aware that not all systems accept the \n notion...
This User Gave Thanks to RudiC For This Post:
# 5  
Old 04-08-2014
OR

Code:
$ echo '0001 firstname1 lastname1 0002 firstname2 lastname2 0003 firstname3 lastname3 0004 firstname4 lastname4' | xargs -n 3
0001 firstname1 lastname1
0002 firstname2 lastname2
0003 firstname3 lastname3
0004 firstname4 lastname4

Code:
xargs -n 3 <file

This User Gave Thanks to Akshay Hegde For This Post:
# 6  
Old 04-08-2014
Hello,

One more approach for same.

Code:
xargs -n 3 < get_data_check_details_check121212

Output will be as follows.

Code:
0001 firstname1 lastname1
0002 firstname2 lastname2
0003 firstname3 lastname3
0004 firstname4 lastname4

NOTE: Where get_data_check_details_check121212 is input file.

EDIT: Sorry just now saw Akshay have posted the same command.


Thanks,
R. Singh

Last edited by RavinderSingh13; 04-08-2014 at 08:29 AM.. Reason: Adding sorry
# 7  
Old 04-08-2014
One more way Smilie

Code:
 
printf "%s %s %s\n" $(cat filename)
 
or
 
printf "%s %s %s\n" $(echo '0001 firstname1 lastname1 0002 firstname2 lastname2 0003 firstname3 lastname3 0004 firstname4 lastname4')

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Replace string until 3Rd occurance of forward slash(/)

I have a file abc.txt which has records like 456 /home/fgg/abdc.txt 3567 /home/fdss/vfgb.txt 23 /home/asd/dfght.txt I WANT TO REMOVE STRING UNTIL 3RD OCCURANCE OF FORWARD SLASH Output should be like abdc.txt vfgb.txt dfght.txt (5 Replies)
Discussion started by: himanshupant
5 Replies

2. Shell Programming and Scripting

Replace space by newline error

Hello I have had a requirement where I need to move data to a new line based on a text .So basically as soon as it encounters :61: it should move to a new line Source Data : :61:D100,74NCH1 :61:D797,50NCH2 :61:D89,38NCHK2 :61:D99,38NCHK12 :61:D79,38NCHK22 :61:D29,38NCHK5 Target Data... (11 Replies)
Discussion started by: kamijia83
11 Replies

3. UNIX for Dummies Questions & Answers

Replace the unexpected newline char with space in a Fixed width file

Input eg: Ouput Expected. The #rd line had the unexpted new line, which need to be replaced with space. I was planing to go with checking the length of each line using awk and if the length is less than the defeined limit, (12 in above case) will replace the newline with space. ... (5 Replies)
Discussion started by: deepakwins
5 Replies

4. Shell Programming and Scripting

Add newline before another line of occurance

Hi , I have a file like I want to add a new line before "Realized" only when it comes after "Sheep". There may be any line betwwen "Sheep" and "Realized" other than this two. Say my new line is "a goat", so the desired result would be Can any body help me in this? thanks (10 Replies)
Discussion started by: arup1980
10 Replies

5. Shell Programming and Scripting

Replace newline character between a double quotes to a space

Hi Guys, I have a file with content as below aj.txt "Iam allfine" abcdef abcd "all is not well" What I'm trying to say is my data has some new line characters in between quoted text. I must get ride of the newline character that comes in between the quoted text. output must be:... (8 Replies)
Discussion started by: ajahuja
8 Replies

6. Shell Programming and Scripting

replace every second occurance of a string

I want to replace every 2nd occurance of a string/character from a line. ababacbsbddbsbbcbdbssb i want to replace every s2nd b with @ like below should be like aba@acbs@ddbs@bc@dbss@ (3 Replies)
Discussion started by: ratheeshjulk
3 Replies

7. Shell Programming and Scripting

Search and replace only the first occurance

Hi, I need to search a string and replace with nothing, but only the First occurring string using sed/perl/awk (3 Replies)
Discussion started by: suraj.sheikh
3 Replies

8. Shell Programming and Scripting

replace 3rd field of space delimited text file

how to replace the 3rd colum? Each line begins similarly, but they all ends variously. XX YY 03 variable text here XX YY 03 more variable text here XX YY 03 even more variable text here really long setence XX YY 03 variable numbers also appear 03 11. 123 456 XX YY 03 the occasional comma,... (4 Replies)
Discussion started by: ajp7701
4 Replies

9. Shell Programming and Scripting

Using sed I want to replace space by newline

Input: -------------------------- 123asd 456sdasda 789a ------------------------- output wanted: --------------------- 123asd 456sdasda 789a ---------------------- I want this by sed in simple way please help (I know by: tr ' ' '\n' < inputfile )I want it by sed only (5 Replies)
Discussion started by: RahulJoshi
5 Replies

10. UNIX for Dummies Questions & Answers

replace the n'th occurance in a file

Hi All, How can i replace the n'th occurance in a file. ? I have a property file like EAR;_TrackingEAR;META-INF/application.xml;xml;context-root;1;valeur EAR;_TrackingEAR;META-INF/application.xml;xml;context-root;2;valeur2... (2 Replies)
Discussion started by: subin_bala
2 Replies
Login or Register to Ask a Question