Joining lines in different way


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Joining lines in different way
# 1  
Old 06-12-2013
Linux Joining lines in different way

Hi all,

I'm excited to the part of unix.com forum, and noob to it.

I have an query, where I have an file and it contains data like this
Code:
use 
thread
when
posting
do
no

I was expecting the result as
Code:
use thread
thread when
when posting
posting do
do no
use thread when
thread when posting
when posting do
posting do no

I have tried
Code:
cat demo.txt | xargs -n 2

but it gave result as
Code:
use thread
when posting
do no

but I was expecting the above result only. Any advice on how to achieve the result

Last edited by Franklin52; 06-12-2013 at 03:30 AM.. Reason: Please use code tags
# 2  
Old 06-12-2013
You are expecting that word are multiplying?

Post your real data and what is your goal, and how to come there.

Last edited by Jotne; 06-12-2013 at 03:02 AM..
# 3  
Old 06-12-2013
For combining 2 lines
Code:
$ perl -ne 'chomp; push @a, $_; if ($#a >= 1) {@a = @a[@a-2..$#a]; print "$a[0] $a[1]\n"}' join.txt 
use thread
thread when
when posting
posting do
do no

For combining 3 lines
Code:
$ perl -ne 'chomp; push @a, $_; if ($#a >= 2) {@a = @a[@a-3..$#a]; print "$a[0] $a[1] $a[2]\n"}' join.txt 
use thread when
thread when posting
when posting do
posting do no

# 4  
Old 06-12-2013
Code:
awk '{if(NR>1) print t,$0;t=$0}' join.txt
use thread
thread when
when posting
posting do
do no

# 5  
Old 06-12-2013
Thank you rajamahavan, perl has done magic.

@jotne. How to do the same for combining 3 lines... ?

Last edited by Jose Nirmal; 06-12-2013 at 03:36 AM.. Reason: Please use code tags
# 6  
Old 06-12-2013
3
Code:
awk '{if(NR>2) print s,t,$0;s=t;t=$0}' join.txt
use thread when
thread when posting
when posting do
posting do no

4
Code:
awk '{if(NR>3) print r,s,t,$0;r=s;s=t;t=$0}' join.txt
use thread when posting
thread when posting do
when posting do no

This User Gave Thanks to Jotne For This Post:
# 7  
Old 06-12-2013
Thank you. My first query has been solved.

I'm interested in knowing the explanation of awk and perl code. So that I can learn.........................

Last edited by Jose Nirmal; 06-12-2013 at 03:50 AM.. Reason: missed something
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Joining broken lines and removing empty lines

Hi - I have req to join broken lines and remove empty lines but should NOT be in one line. It has to be as is line by line. The challenge here is there is no end of line/start of line char. thanks in advance Source:- 2003-04-34024|04-10-2003|Claims|Claim|01-13-2003|Air Bag:Driver;... (7 Replies)
Discussion started by: Jackceasar123
7 Replies

2. Shell Programming and Scripting

Joining lines in a file - help!

I'm looking for a way to join lines in a file; e.,g consider the following R|This is line 1 R|This is line 2 R|This is line 3 R|This is line 4 R|This is line 5 what i want to end up with is R|This is line 1 R|This is line 2 R|This is line 3 R|This is line 4 R|This is line 5 so... (15 Replies)
Discussion started by: Storms
15 Replies

3. Shell Programming and Scripting

awk joining lines

Hello, I'm trying to write a piece of code in awk, which should be able recognize by some regexps two lines and then join them together (maybe write them without \n would be enough, I don't know).. the thing is that every line in the file i'm working with starts with some number, for example: ... (4 Replies)
Discussion started by: midin
4 Replies

4. Shell Programming and Scripting

pattern matching lines using the date, and then joining the lines

Hi Guys, Was trying to attempt the below using awk and sed, have no luck so far, so any help would be appreciated. Current Text File: The first line has got an "\n", and the second line has got spaces/tabs then the word and "\n" TIME SERVER/CLIENT TEXT... (6 Replies)
Discussion started by: eo29
6 Replies

5. Shell Programming and Scripting

Need help joining lines

Hi All, I need the command to join 2 lines into one. I found lots of threads but none give me the sollution. Probably because unix scripting is one of my best features ;) I got a logfile where line 2 needs to be joined with line 1, lines 4 needs to be joined with line 3 etc If you need... (16 Replies)
Discussion started by: rene21976
16 Replies

6. Shell Programming and Scripting

joining two lines

Hi , I want to join two lines in a file, where the second line contain query string. if it doesn't contain that string i don't want to join e.g. Input file is as following: name fame game none none none name fame game cat eat mice I need output file as name fame game none none... (2 Replies)
Discussion started by: ashrafonics
2 Replies

7. Shell Programming and Scripting

Joining lines from two files - please help

Hello, I have 2 files say File 1 has ABC DEF GHI File 2 has 123 456 789 I need output as ABC 123 DEF 456 GHI 789 I tried awk and sed but not able to get it in the right way. :confused: Please help. Thanks (25 Replies)
Discussion started by: chandra004
25 Replies

8. Shell Programming and Scripting

Joining 3 lines at a time

Hi, I have a file which has the contents as below : 07:38:36 EST date 20041117 07:39:06 EST 07:00:29 EDT date 20050504 07:25:16 EDT 07:00:40 EDT date 20050505 07:23:12 EDT I need to delete the new line character from all lines except 3rd,6th,9th etc. lines so that i get the output... (14 Replies)
Discussion started by: Sabari Nath S
14 Replies

9. Shell Programming and Scripting

Joining 2 lines in a file together

Hi guys, I've got a log file which has entries that look like this: ------------------------------------------------------------------------------- 06/08/04 07:57:57 AMQ9002: Channel program started. EXPLANATION: Channel program 'INSCCPQ1.HSMTSPQ1' started. ACTION: None. ... (3 Replies)
Discussion started by: m223464
3 Replies

10. Shell Programming and Scripting

Joining multiple lines

I have data of the following form. It starts its first line with a '{' and ends the last line with a '}'. What I need to do is to join every line starting with the '{' and ending with the '} into one line in the output file. If it was just this one block, I could do a 13 joins in vi, however it... (4 Replies)
Discussion started by: beilstwh
4 Replies
Login or Register to Ask a Question