Same Line


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Same Line
# 1  
Old 01-10-2013
Same Line

Here is what I have in my file.

Code:
"1234"|"1234"|"1234"|"1234"
"1234"|"1234"|"1234"|"12
34"
"1234"|"1234"|"1234"|"1234"
"1234"|"1234"|"1234"|"1234"

expected output to be like below.
Code:
"1234"|"1234"|"1234"|"1234"
"1234"|"1234"|"1234"|"1234"
"1234"|"1234"|"1234"|"1234"
"1234"|"1234"|"1234"|"1234"

Pls help with a command. as of now i tried and was not able to sort it out.because when i tried i got all rows in single line.

Moderator's Comments:
Mod Comment Please use code tags next time for your code and data.
# 2  
Old 01-10-2013
Code:
sed '/[^"]$/{h;N;s/\n//;}' file

Reference: thread
This User Gave Thanks to Yoda For This Post:
# 3  
Old 01-10-2013
Code:
awk '!(NR%2){gsub("\n",x)}1' RS=\" ORS=\" infile


Last edited by Scrutinizer; 01-10-2013 at 08:31 PM..
This User Gave Thanks to Scrutinizer For This Post:
# 4  
Old 01-10-2013
in case of more than 1 split in lines or split at the "|" like:
Code:
"1234"|"1234"|
"1234"|"1234"
"1234"|"12
34"|"1234"|
"12
34"
"1234"|"1234"|"1234"|"1234"
"1234"|"1234"|"1234"|"1234"

try:
Code:
awk '{while ((gsub("\"","\"")%2==1 || NF<4) || !$NF) {getline x;$0=$0 x;}; print $0}' FS="|" infile


Last edited by rdrtx1; 01-10-2013 at 08:04 PM..
# 5  
Old 01-13-2013
this is working ...wc -l never counts last blank line in a file but it does anywhere else why? any idea also how to delete last blank line or all blank lines including last one after i mean the record which is last is a blank line.

also below one
Code:
"1234"|"1234"|"12
34"|"1

234"
"1234"|"1234"|"1234"|"1234"

"1234"|"1234"|"1234"|"1234"
"1234"|"1234"|"1234"|"1234"
<blank here>

output
Code:
"1234"|"1234"|"1234"|"1234"
"1234"|"1234"|"1234"|"1234"
blank
"1234"|"1234"|"1234"|"1234"
"1234"|"1234"|"1234"|"1234"
blank


Last edited by userraone; 01-13-2013 at 02:49 AM..
# 6  
Old 01-13-2013
You could try to remove empty lines first and then process the result:
Code:
awk NF file | awk '!(NR%2){gsub("\n",x)}1' RS=\" ORS=\"

an spurious double quote at the end of the file could be removed like this:
Code:
awk NF file | awk '!(NR%2){gsub("\n",x)}1' RS=\" ORS=\" | sed '/^"$/d'


Last edited by Scrutinizer; 01-13-2013 at 05:25 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

9 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

How to read file line by line and compare subset of 1st line with 2nd?

Hi all, I have a log file say Test.log that gets updated continuously and it has data in pipe separated format. A sample log file would look like: <date1>|<data1>|<url1>|<result1> <date2>|<data2>|<url2>|<result2> <date3>|<data3>|<url3>|<result3> <date4>|<data4>|<url4>|<result4> What I... (3 Replies)
Discussion started by: pat_pramod
3 Replies

3. Shell Programming and Scripting

Need a program that read a file line by line and prints out lines 1, 2 & 3 after an empty line...

Hello, I need a program that read a file line by line and prints out lines 1, 2 & 3 after an empty line... An example of entries in the file would be: SRVXPAPI001 ERRO JUN24 07:28:34 1775 REASON= 0000, PROCID= #E506 #1065: TPCIPPR, INDEX= 003F ... (8 Replies)
Discussion started by: Ferocci
8 Replies

4. Shell Programming and Scripting

sed command to replace a line at a specific line number with some other line

my requirement is, consider a file output cat output blah sdjfhjkd jsdfhjksdh sdfs 23423 sdfsdf sdf"sdfsdf"sdfsdf"""""dsf hellow there this doesnt look good et cetc etc etcetera i want to replace a line of line number 4 ("this doesnt look good") with some other line ... (3 Replies)
Discussion started by: vivek d r
3 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. Solaris

Line too long error Replace string with new line line character

I get a file which has all its content in a single row. The file contains xml data containing 3000 records, but all in a single row, making it difficult for Unix to Process the file. I decided to insert a new line character at all occurrences of a particular string in this file (say replacing... (4 Replies)
Discussion started by: ducati
4 Replies

7. Shell Programming and Scripting

Fill the empty line by adding line before blank line

FIle A "A" 2 aa 34 3 ac 5 cd "B" 3 hu 67 4 fg 5 gy output shud be A"" 2 aa 34 "A" 3 ac 34 "A" 5 cd 34 "B" 3 hu 67 "B" 4 fg 67 "B" 5 gy 67 (6 Replies)
Discussion started by: cdfd123
6 Replies

8. Shell Programming and Scripting

[Solved] Problem in reading a file line by line till it reaches a white line

So, I want to read line-by-line a text file with unknown number of files.... So: a=1 b=1 while ; do b=`sed -n '$ap' test` a=`expr $a + 1` $here do something with b etc done the problem is that sed does not seem to recognise the $a, even when trying sed -n ' $a p' So, I cannot read... (3 Replies)
Discussion started by: hakermania
3 Replies

9. UNIX for Advanced & Expert Users

how do you parse 1 line at a time of file1 ie. line(n) each line into new file

File 1 <html>ta da....unique file name I want to give file=>343...</html> <html>da ta 234 </html> <html>pa da 542 </html> and so on... File 2 343 234 542 and so on, each line in File 1 one also corresponds with each line in File 2 I have tried several grep, sed, while .. read, do,... (4 Replies)
Discussion started by: web_developer
4 Replies
Login or Register to Ask a Question