Extracting only a few columns!!!?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Extracting only a few columns!!!?
# 1  
Old 11-11-2009
Extracting only a few columns!!!?

Hi All,
I have a text file which looks like below.
Code:
################################################
Name:xxxxxxx
Version:1.0
Class: 2
City : Bangalore
 
Component Part    Action     Nb   New Part   Naming   Part Name
12345              default            12345.12345            Bad
23456              default   nb   23456.23456   n/a      Good
34567                    default        34567.34567           Bad

#######################################################################

Now I want to otuput onlt "Component Part" "New Part" "Part Name" columns and the output should look like below Please help me.

Code:
 Component Part                   New Part                             Part Name 
 12345                                12345.12345                         Bad
 23456                                23456.23456                         Good
 34567                                34567.34567                         Bad

You can see that first file has a columns arranged randomly and in the output few columns are ignored and rest all must be arranged properly. but here also it looks like random arrangement

Please help me on this.
Thank you.

Last edited by radoulov; 11-11-2009 at 10:11 AM.. Reason: Please use code tags.
# 2  
Old 11-11-2009
Code:
awk 'NR>6 {print $1,$3,$NF}' urfile

not good.

Could you give more sample from your data file?
# 3  
Old 11-11-2009
Are all the column values seperated by space except the column headers ?
# 4  
Old 11-11-2009
before my table there exists some texts which is not needed for me... you can see the example above

---------- Post updated at 12:41 AM ---------- Previous update was at 12:40 AM ----------

Quote:
Originally Posted by kinny
Are all the column values seperated by space except the column headers ?
yes...it should seperate by space..even the column headers also should seperate by space
# 5  
Old 11-11-2009
Here my participation...

Code:
cat file | awk '/^[0-9]/' | awk 'BEGIN{print "component Part New Part Part Name"};{n=split($0,tab)}{if(NR==2) {print tab[1],tab[4],$NF} else {print tab[1],tab[3],$NF}}'

Result:

Code:
component Part New Part Part Name
12345 12345.12345 Bad
23456 23456.23456 Good
34567 34567.34567 Bad

# 6  
Old 11-11-2009
Quote:
Class: 2
[...]
Is this a homework assignment?
# 7  
Old 11-12-2009
what home work are you talking about?? I have to submit my script before monday to my team lead.. i'm not a programmer but knows basics thats all...

and even i didnt write any program also...there was a program already with our team but there we need to change few things...like the one above...

please help me

---------- Post updated at 06:03 AM ---------- Previous update was at 05:54 AM ----------

Quote:
Originally Posted by protocomm
Here my participation...

Code:
cat file | awk '/^[0-9]/' | awk 'BEGIN{print "component Part New Part Part Name"};{n=split($0,tab)}{if(NR==2) {print tab[1],tab[4],$NF} else {print tab[1],tab[3],$NF}}'

Result:

Code:
component Part New Part Part Name
12345 12345.12345 Bad
23456 23456.23456 Good
34567 34567.34567 Bad


Hi thanks for your reply... checked this and working almost ok but the problem is i should get 12345 exactly under "component part" column n there should be some space between each column.. means columns should be arranged in a proper order,....

Last edited by smarty86; 11-13-2009 at 12:05 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Extracting multiple columns with awk

Hi everyone!! I need to apply a simple command to extract columns from a matrix, but I need to extract contemporary from the first to the tenth columns, than from the eleventh to the twentyth and so on... how can i do that? (1 Reply)
Discussion started by: gabrysfe
1 Replies

2. Shell Programming and Scripting

Extracting wanted columns

Suppose file1 1 3 8 9 file2 1 2 3 4 5 6 7 8 9 10 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 I want to print columns listed in file 1 from file2. so the output will look like 1 3 8 9 1 1 0 1 (3 Replies)
Discussion started by: johnkim0806
3 Replies

3. UNIX Desktop Questions & Answers

Extracting only unique data between two columns

:wall:Hi there, I am trying to extract/filter a unique data between specific columns from a tab deliminated file, that has a number of columns: input file as follow: 5 rs1 70 A C 7 1 1 Blue 5 rs9 66 A E ... (2 Replies)
Discussion started by: houkto
2 Replies

4. Shell Programming and Scripting

Using columns from 2 files and extracting string

Hi All, I have 2 files with a common column. File 1 looks like NAME START POS1 POS2 N1 1234 1236 1237 N2 1245 1248 1250 .. .. File 2 looks like NAME STRING N1 ABCDEFGH N2 EFGHBCD N3 PQRSSTUV .. ...... ... (25 Replies)
Discussion started by: alpesh
25 Replies

5. Shell Programming and Scripting

extracting columns from 2 files

Hello, I have 2 files file1 & file2 = a1 b1 a2 b2 a3 b3 ... = c1 d1 c2 d2 c3 d3 ... I need to compare if b(i)=c(j) . i,j=1,2,3,4,... If yes, right a(i) d(j) in output file3 per line (1 Reply)
Discussion started by: newpromo
1 Replies

6. Shell Programming and Scripting

Extracting columns

The output of the below command is : # yum -e0 -d0 check-update dnsmasq.i386 2.45-1.1.el5_3 updates ecryptfs-utils.i386 75-5.el5 updates fetchmail.i386 6.3.6-1.1.el5_3.1 updates... (16 Replies)
Discussion started by: proactiveaditya
16 Replies

7. Shell Programming and Scripting

extracting columns with awk

Friends, I have a file with fileds in the following order sda 4.80 114.12 128.69 978424 1103384 sdb 0.03 0.40 0.00 3431 0 sda 1.00 0.00 88.00 0 176 sdb ... (14 Replies)
Discussion started by: achak01
14 Replies

8. Shell Programming and Scripting

extracting multiple consecutive columns using awk

Hello, I have a matrix 200*10,000 and I need to extract the columns between 40 and 77. I dont want to write in awk all the columns. eg: awk '{print $40, $41, $42,$43 ... $77}'. I think should exist a better way to do this. (10 Replies)
Discussion started by: auratus42
10 Replies

9. Shell Programming and Scripting

Need help in extracting columns

Hi , I have a file having around 8 columns spereated by space . Now that I need to extract columns from this. The problem is this functionality is needed in a script and the required columns are dynamic and can range from 2 columns to 8 columns at a time . What I tried without luck is ... (6 Replies)
Discussion started by: praveenbvarrier
6 Replies

10. UNIX for Dummies Questions & Answers

Extracting columns from different files for later merging

Hello! I wan't to extract columns from two files and later combine them for plotting with gnuplot. If the files file1 and file2 look like: fiile1: a, 0.62,x b, 0.61,x file2: a, 0.43,x b, 0,49,x The desired output is a 0.62 0.62 b 0.61 0.49 Thank you in advance! (2 Replies)
Discussion started by: kingkong
2 Replies
Login or Register to Ask a Question