Moving columns around


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Moving columns around
# 8  
Old 06-24-2012
That's a whole lot going on there... Smilie

Try this:

Code:
grep INSERT NEWOUTPUT | perl -pe 's/^\n//;s/^(\d+) (.*?)(\);)/$2, $1$3/g'

INSERT INTO Opera_ShirtCatlog(col1,col2) VALUES (1,'TEST1'),(2,'TEST2', 1389685);
INSERT INTO Opera_ShirtCatlog_Wom(col1, col2, col3) VALUES (9, 'Siz12, FormFit', 'Test', 1389675);

# 9  
Old 06-24-2012
in2nix4life,

I just dont like to say this but Its not doing anything.No errors no action output is just the same as ever before ....
Smilie


HTML Code:
/Users/ManoharChandran/MOVER 18:03:43 $cat NEWOUTPUT | grep 'INSERT' | cut  -f 5- | awk '{print $2=$3=$4=""}1' |  perl -pe 's/^\n//;s/^(\d+)    (.*?)(\);)/$2, $1$3/g'

1389685 INSERT INTO Opera_ShirtCatlog(col1,col2) VALUES (1,'TEST1'),(2,'TEST2');
1389675 INSERT INTO Opera_ShirtCatlog_Wom(col1, col2, col3) VALUES (9, 'Siz12, FormFit', 'Test');
regards,
Manohar.

---------- Post updated at 07:29 PM ---------- Previous update was at 06:07 PM ----------

Smartfolks,

Can someone please post an answer to my query up here as I have spent pretty much all day but I am back to where I was and the given perl solution is not working. I tried to substitute the value of ") VALUES" with ",LASTSTRING) VALUES" using simple sed replace.

However the Critical part of moving the first string into the string where its pushed as the last value using closing parenthesis is not working for me and I know this for sure that SED should do it but I am not getting it.

Please advise.

regards,
Manohar.

regards,
Manohar.

Last edited by ManoharMa; 06-25-2012 at 01:59 AM..
# 10  
Old 06-25-2012
You give no explanation of why the following is used:

Code:
$cat NEWOUTPUT | grep 'INSERT' | cut  -f 5- | awk '{print $2=$3=$4=""}1'

If the file contains the following as you initially explained:

Code:
INPUT LINE 1-
1389685 INSERT INTO Opera_ShirtCatlog(col1,col2) VALUES (1,'TEST1'),(2,'TEST2');

OUTPUT LINE 1- 
INSERT INTO Opera_ShirtCatlog(col1,col2, FIRSTCOL) VALUES (1,'TEST1', 1389685),(2,'TEST2', 1389685);

Why use all of those commands? Of course the solution I gave doesn't work cause you're including a bunch of what seems to be unnecessary commands.
# 11  
Old 06-25-2012
in2nix4life,

Yes, I needed all these commands to get it to the current state where in, all I am left with is, to finally move in the first set of numbers as a last value before closing the paranthesis. I tried to do what I can by pushing the cart as far as I can and thats exactly what I did in here. So, the first set of commands bought the data to this point.

But, If you want to tackle the raw line itself sure ... Here it is.


#### 3601 0089 22360 1389675 INSERT PARTITION_443 Opera_ShirtCatalog INSERT INTO Opera_ShirtCatalog(COL1, COL2) VALUES (1, 'TEST1'), (2,'TEST2');
#### 12001 0093 22362 1389685 INSERT PARTITION_454 Opera_ShirtCatlog_Wom INSERT INTO Opera_ShirtCatlog_Wom(col1, col2, col3) VALUES (9,'Siz12, FormFit', 'Test');

Also, let me re-hash as to what is needed in here.

All I need out of this, is from the insert statement onwards, I need to print the rest of line ie., from INSERT INTO …. till ";" which is the end of the line. The trickiest part in here is, I need to yank the 5th column and move that as the last column inside the values clause. So, what I would necessarily want to see as final output would be as below -

INSERT INTO Opera_ShirtCatalog(COL1, COL2, NEWCOLUMN) VALUES (1, 'TEST1', 1389675), (2,'TEST2', 1389675);
INSERT INTO Opera_ShirtCatlog_Wom(col1, col2, col3, NEWCOLUMN) VALUES (9,'Siz12, FormFit', 'Test', 1389685);

Hope you understand my situation with this and hope I am clear in what I need to do.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Evaluate 2 columns, add sum IF two columns satisfy the condition

HI All, I'm embedding SQL query in Script which gives following output: Assignee Group Total ABC Group1 17 PQR Group2 5 PQR Group3 6 XYZ Group1 10 XYZ Group3 5 I have saved the above output in a file. How do i sum up the contents of this output so as to get following output: ... (4 Replies)
Discussion started by: Khushbu
4 Replies

2. Shell Programming and Scripting

Request: How to Parse dynamic SQL query to pad extra columns to match the fixed number of columns

Hello All, I have a requirement in which i will be given a sql query as input in a file with dynamic number of columns. For example some times i will get 5 columns, some times 8 columns etc up to 20 columns. So my requirement is to generate a output query which will have 20 columns all the... (7 Replies)
Discussion started by: vikas_trl
7 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

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

5. 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

6. Shell Programming and Scripting

Combine columns from many files but keep them aligned in columns-shorter left column issue

Hello everyone, I searched the forum looking for answers to this but I could not pinpoint exactly what I need as I keep having trouble. I have many files each having two columns and hundreds of rows. first column is a string (can have many words) and the second column is a number.The files are... (5 Replies)
Discussion started by: isildur1234
5 Replies

7. UNIX for Advanced & Expert Users

Help in Deleting columns and Renaming Mutliple columns in a .Csv File

Hi All, i have a .Csv file in the below format startTime, endTime, delta, gName, rName, rNumber, m2239max, m2239min, m2239avg, m100016509avg, m100019240max, metric3min, m100019240avg, propValues 11-Mar-2012 00:00:00, 11-Mar-2012 00:05:00, 300.0, vma3550a, a-1_CPU Index<1>, 200237463, 0.0,... (9 Replies)
Discussion started by: mahi_mayu069
9 Replies

8. UNIX for Dummies Questions & Answers

moving columns to alternating rows

Hello, I have a space delimited file like this: AAA BBB CCC DDD EEE FFF GGG HHH III And I would like to change it to the following (including the plus signs): AAA BBB + CCC DDD EEE + FFF GGG HHH (2 Replies)
Discussion started by: blakers
2 Replies

9. Shell Programming and Scripting

Single command for add 2 columns and remove 2 columns in unix/performance tuning

Hi all, I have created a script which adding two columns and removing two columns for all files. Filename: Cust_information_1200_201010.txt Source Data: "1","Cust information","123","106001","street","1-203 high street" "1","Cust information","124","105001","street","1-203 high street" ... (0 Replies)
Discussion started by: onesuri
0 Replies

10. Shell Programming and Scripting

Cutting Columns and Moving in to a file

Guys, Can any one tell me how can we cut the columns and move each column in to a separate file using awk? I have a tab delimited file as shown below, 1213 wattt werree 2345 skhasdjh aasas I want to output this in to three files named a.txt,b.txt and c.txt say a.txt... (3 Replies)
Discussion started by: Serious Sam
3 Replies
Login or Register to Ask a Question