Combining lines in to one line


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Combining lines in to one line
# 1  
Old 12-14-2012
Question Combining lines in to one line

Hi Friends,

I have a file1.txt

Code:
1001 jkilo yrhfm 
200056 jhdf rjhwjkrh
3+u8jk5h3 uru ehjk 
1002 jkfhk hfjkd 
2748395 fdjksfh hefjkh
3hdfk ejkh kjhjke

In the above if you see the firt charcter of each line mentioned in red has a pattern .
I need to create another file where , the first 3 lines comes to the one line, next 3 lines to nxt line ..so on..

Expected output :

Code:
 
001 jkilo yrhfm 00056 jhdf rjhwjkrh+u8jk5h3 uru ehjk 
002 jkfhk hfjkd 748395 fdjksfh hefjkhhdfk ejkh kjhjke

Plz help
# 2  
Old 12-14-2012
Code:
$ nawk 'NR%3!=0{printf("%s ",substr($0,2,length))}NR%3==0{printf("%s\n",substr($0,2,length))}' input.txt
001 jkilo yrhfm  00056 jhdf rjhwjkrh +u8jk5h3 uru ehjk 
002 jkfhk hfjkd  748395 fdjksfh hefjkh hdfk ejkh kjhjke

This User Gave Thanks to itkamaraj For This Post:
# 3  
Old 12-14-2012
Another approach:
Code:
awk '{ORS=NR%3?FS:RS}{print substr($0,2)}' file

# 4  
Old 12-14-2012
@Itkamaraj: Thanks for the reply. Thank you so much.. it works as expected Could you exaplain the code ?
# 5  
Old 12-14-2012
NR%3!=0 NR is number of processing line. If the awk command reads the first line, then value is 1, if it read 2nd line, then NR is 2..so on..

so, we are checking whether NR is multiple of three or not.

if not, just print the record.
if yes, print the record with new line.

substr($0,2,length) used to extract the words from the 2nd character of the line
# 6  
Old 12-14-2012
Quote:
Originally Posted by itkamaraj

substr($0,2,length) used to extract the words from the 2nd character of the line
The use of the length function is superfluous in this case.
This User Gave Thanks to Franklin52 For This Post:
# 7  
Old 12-14-2012
yes.. i saw your comment.. thanks for notifying...
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Log4j combining lines to single line

Hi, Our log4j file contents look like this: 2018-11-20T00:06:58,888 INFO ql.Driver: Executing command(queryId=hive_20181120000656_49af4ad0-1d37-4312-872c-a247ed80c181): CREATE TABLE RESULTS.E7014485_ALL_HMS_CAP1 AS SELECT name,dept from employee Where employee='Jeff'... (4 Replies)
Discussion started by: wahi80
4 Replies

2. UNIX for Beginners Questions & Answers

Combining lines in one line

Hi below is the input file snippet. here i want that all the line which is coming after 1 shoud be in one line. so for exanple if after 1 there is two lines which is starting with 2 should be combine in one line. input file content 1,8091012,BATCH_1430903_01,21,T,2,808738,,,,21121:87:01,... (19 Replies)
Discussion started by: scriptor
19 Replies

3. Shell Programming and Scripting

Combining lines into a single line

i have a file (where the column values are separated by ' and the text can be enclosed in ~) which contains data in form of 4461,2,~Basic: 2 Years/Unlimited Miles Drivetrain: Gas Engine 2 Years/Unlimited Miles Duramax Engine 3 Years/Unlimited... (2 Replies)
Discussion started by: rahulchandak
2 Replies

4. Shell Programming and Scripting

Combining two lines into one, UNIX

Hi All, I have a file which has the following sample lines -- <Member name="Canada" Currency="CAD" -- <Member name="UK" Currency="GBP" -- <Member name="Switzerland" Currency="CHF" -- <Member name="Germany" Currency="EUR" -- (11 Replies)
Discussion started by: dev.devil.1983
11 Replies

5. Shell Programming and Scripting

Combining multiple block of lines in one comma separated line

Hi Everyone, On my Linux box I have a text file having block of few lines and this block lines separated by one blank line. I would like to format and print these lines in such a way that this entire block of lines will come as single comma separated line & again next block of lines in next... (7 Replies)
Discussion started by: gr8_usk
7 Replies

6. Shell Programming and Scripting

Reading two lines in a while loop and combining the lines

Dear all, I have a file like this: imput scaffold_0 1 scaffold_0 10000 scaffold_0 20000 scaffold_0 25000 scaffold_1 1 scaffold_1 10000 scaffold_1 20000 scaffold_1 23283 and I want the output like this: scaffold_0 1 scaffold_0 10000 scaffold_0 10000 scaffold_0 20000... (6 Replies)
Discussion started by: valente
6 Replies

7. Programming

PERL:Combining multiple lines to single line

Hi All I need a small help for the below format in making a small script in Perl or Shell. I have a file in which a single line entries are broken into three line entries. Eg: I have a pen and notebook. All i want is to capture in a single line in a separate file. eg: I have a pen and... (4 Replies)
Discussion started by: Kalaiela
4 Replies

8. Shell Programming and Scripting

Combining 2 lines in a file into 1 line

Hi all, I have a file with lot of lines with repeating pattern. ( TABLE_NAME line followed by Total line). I would like combine these two lines into one line seperated by cama and create a new file. Is there a simple way to do this. Current Format ( just a sample 4 lines ) TABLE_NAME:... (10 Replies)
Discussion started by: MKNENI
10 Replies

9. Shell Programming and Scripting

Combining lines between two specific lines

Hi, I have a requirement like following: I have input file like: Question: 1 ----Multiple choice--- What is your favourite colour? Options: a) red b) blue c) none of these Question: 2 ---Multiple choice----- In which month did you join your first job? Options: a) Jan b) Feb c)... (11 Replies)
Discussion started by: ppatra
11 Replies

10. Shell Programming and Scripting

need help appending lines/combining lines within a file...

Is there a way to combine two lines onto a single line...append the following line onto the previous line? I have the following file that contains some blank lines and some lines I would like to append to the previous line... current file: checking dsk c19t2d6 checking dsk c19t2d7 ... (2 Replies)
Discussion started by: mr_manny
2 Replies
Login or Register to Ask a Question