Print rows into columns


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Print rows into columns
# 1  
Old 03-23-2010
Print rows into columns

Hi,

I required to print all rows into columns(some comma separated or else) till a pattern match found. Using Solaris UNIX scripting

my input is like
Code:
abc
def
ghi
jkl
mno
END
pqr
stu
vwx
yz
123
END
...
...
..And so on

And required output should be:
Code:
abc;def;ghi;jkl;mno;
pqr;stu;vwx;yz;123;
............................
............................
Same for rest file

Means "END" is present in file after each 5 rows, and want to convert data into 5 columns with ";" as delimiter.

Pls help.

BR\\
VIKASH
# 2  
Old 03-23-2010
Try:
Code:
awk '{ORS=/END/?"\n":";";gsub(/END/,""); }1' file


Last edited by dennis.jacob; 03-23-2010 at 06:08 AM..
# 3  
Old 03-23-2010
Code:
nawk '!/END/&&ORS=++c%5?OFS:OFS RS' OFS=\; infile

# 4  
Old 03-23-2010
Code:
awk '/END/{print;next}NF{printf("%s ",$0)}' Input_File | sed 's/ /;/g' | sed 's/END//g'

# 5  
Old 03-23-2010
Code:
cat test.txt | tr '\n' ';' |sed 's/END;/\n/g'

abc;def;ghi;jkl;mno;
pqr;stu;vwx;yz;123;
# 6  
Old 03-24-2010
I tried:
Code:
awk '{ORS=/END/?"\n":";";gsub(/END/,""); }1' input_file

Error:
awk: syntax error near line 1
awk: illegal statement near line 1
awk: syntax error near line 1
awk: illegal statement near line 1
awk: syntax error near line 1
awk: bailing out near line 1

Tried:
Code:
nawk '!/END/&&ORS=++c%5?OFS:OFS RS' OFS=\; input_file

Error:
/END/: Event not found.


Tried:
Code:
awk '/END/{print;next}NF{printf("%s ",$0)}' input_file| sed 's/ /;/g' | sed 's/END//g'

Error:
CORRECT>awk '/END/{print;next}NF{printf("%s ",$0)}' input_file | sed 't/././g' | sed 's/END//g' (y|n|e|a)? yes
awk: syntax error near line 1
awk: bailing out near line 1
Undefined label: /././g


Then also
Tried:
Code:
cat input_file | tr '\n' ';' |sed 's/END;/\n/g'

No output has came. I also tried with this same tr
like
Code:
cat input_file | tr "\n" ";" | tr ";END;" "\n"

But it gives no out put, my file has around 6000 rows may be this tr is not working as due to some limitations of limit in a row charaters.

Thanks all of you for your help, Pls suggest some other options.
# 7  
Old 03-24-2010
Quote:
Originally Posted by vikash.rastogi
I tried:
Code:
awk '{ORS=/END/?"\n":";";gsub(/END/,""); }1' input_file

Error:
awk: syntax error near line 1
You should use nawk or /usr/xpg4/bin/awk on Solaris.
Do not use /usr/bin/awk a.k.a. oawk on Solaris!

Quote:
Tried:
Code:
nawk '!/END/&&ORS=++c%5?OFS:OFS RS' OFS=\; input_file

Error:
/END/: Event not found.
Why (t)csh ...
Try to escape the !:

Code:
nawk '\!/END/&&ORS=++c%5?OFS:OFS RS' OFS=\; input_file

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Columns to rows

HI UNIX Gurus, Not sure if this was already asked and an UNIX Guru has replied but I could not find what i wanted. I have linux environment and need help on this. I have several files like this. a,1 b,1 utc,10/12/2019 local,10/12/2018 name,xxxy deg,feh 10,12 20,8 30,50 32,64 46,65... (5 Replies)
Discussion started by: Roopensingh
5 Replies

2. Shell Programming and Scripting

Rows to columns

Hi, I have a text file with records as below Service Contract: Account Type: Client Number: Group Number: Account Currency: I want to print 2nd,3rd and 5th as a separate column, like -> Account Type: ,Client Number: ,Account Currency: How can I do that? (1 Reply)
Discussion started by: dsid
1 Replies

3. Shell Programming and Scripting

Compare 2 csv files by columns, then extract certain columns of matcing rows

Hi all, I'm pretty much a newbie to UNIX. I would appreciate any help with UNIX coding on comparing two large csv files (greater than 10 GB in size), and output a file with matching columns. I want to compare file1 and file2 by 'id' and 'chain' columns, then extract exact matching rows'... (5 Replies)
Discussion started by: bkane3
5 Replies

4. Shell Programming and Scripting

Columns and rows

echo "Month" echo "Feb_2014" echo "March_2014" echo "Apr_2014" echo "No of files" grep ,y, Feb_2014.csv |wc -l grep ,y, Mar_2014.csv |wc -l grep ,y, Apr_2014.csv |wc -l echo "Total no of success" awk -F"," '{x+=$4}END{print x}' Feb_2014.csv awk -F"," '{x+=$4}END{print x}'... (3 Replies)
Discussion started by: shelllearner
3 Replies

5. Shell Programming and Scripting

Evaluate 2 columns, add sum IF two columns match on two rows

Hi all, I know this sounds suspiciously like a homework course; but, it is not. My goal is to take a file, and match my "ID" column to the "Date" column, if those conditions are true, add the total number of minutes worked and place it in this file, while not printing the original rows that I... (6 Replies)
Discussion started by: mtucker6784
6 Replies

6. Shell Programming and Scripting

Deleting all the fields(columns) from a .csv file if all rows in that columns are blanks

Hi Friends, I have come across some files where some of the columns don not have data. Key, Data1,Data2,Data3,Data4,Data5 A,5,6,,10,, A,3,4,,3,, B,1,,4,5,, B,2,,3,4,, If we see the above data on Data5 column do not have any row got filled. So remove only that column(Here Data5) and... (4 Replies)
Discussion started by: ks_reddy
4 Replies

7. Shell Programming and Scripting

Rows into Columns

Input File vCenter Servers: 172.28.173.207: vCenter Server connectivity status: Accessible ESX servers: Name: nyp-vhst1001-at.hq.nt.life.com IP address: 10.34.36.11 Virtual machines: Name:nyp-bbmds-at Ip address: 172.28.173.139 ... (1 Reply)
Discussion started by: greycells
1 Replies

8. Shell Programming and Scripting

want to print output if u have rows and columns

U have a file File 1 0.3 0.2 0.4 0.3 0.8 0.11 0.22 0.4 0.23 0.45 0.56 0.78 0.98 0.11 0.32 0.2 0.4 0.45 0.54 0.2 0.33 0.44 0.21 0.22 0.98 0.8 0.2 0.34 0.54 0.98 0.12 0.1 0.22 0.32 0.34 0.89 0.22 File 2 rows columns 3 1 2 3 4 2 5 ... (8 Replies)
Discussion started by: cdfd123
8 Replies

9. Shell Programming and Scripting

perl script to print to values in rows and columns

Hi guys I want to print the values by using this script but its giving the no of rows and columns as input instead of values Would you plz help me on this FILE- chr1.txt 1981 1 1971 1 1961 1 1941 1 perl script #!/usr/bin/perl -w $infile1 = 'chr1.txt'; $outfile3 = 'out3.txt'; ... (3 Replies)
Discussion started by: nogu0001
3 Replies

10. Shell Programming and Scripting

Columns to rows

I have a file which has values seperated by ~ as shown below and I have to achieve a column to row from this. Incoming row is like this How do i get the occueance of ~ and then split it into rows as and below is what I have to achieve. Thanks (16 Replies)
Discussion started by: mgirinath
16 Replies
Login or Register to Ask a Question