Script to place selected columns from a group of files side by side in a new file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Script to place selected columns from a group of files side by side in a new file
# 1  
Old 02-11-2009
Script to place selected columns from a group of files side by side in a new file

Hi Everyone,

I need a shell/perl script to bring selected columns from all the files located in a directory and place them in a new file side by side.

File1:
a b c d
2 3 4 5
f g h i
..........
File2:

I II III IV
w x y z
..............
and so on many files are there...

My Output for selected columns(example 1 and 2) from source files should be:

a b I II..........................so on(here last file contents)
2 3 W X..........................so on(here last file contents)
f g
............ So on

Thanks in advance ........
# 2  
Old 02-11-2009
you can grab the columns using:

awk '{ print $1, $2 }' file_nm > file_nm_out

and combine ( up to 12 -- but some characters might get swallowed up )
the 2-column-output-files with paste:

paste file1 file2 > file_comb.1

However, with lots of files... this will become a little bit of a challenge.

I'm willing to bet there's an easier approach to your actual problem.

meaning -- why do the first 2 columns need to appear in a new file?
and how many files are we actually talking about?
what is the final destination for this data file we're building?
how were the initial files created in the first place?

it seems if we redesign any one of these steps, we might be able to design a better end-to-end process.

Perhaps you could restate the actual issue?
# 3  
Old 02-11-2009
Code:
awk 'NR==FNR{_[NR]=$0;next}{print $1,$2,_[FNR]}' file2 file1

# 4  
Old 02-12-2009
Pasting the columns in new file as it is... Urgent...

I want to place the selected column(s) from all the files (e.g. col 2 from all files together) from a directory, not just two files....

I tried this command: paste | awk '{print $2}' *
But I got the output one after the other in a new file.

$2 from 1st file
$2 from 2nd file
.............. so on..

But what I need is $2 from 1st file <tab> $2 from 2nd file<tab> ..............so on....

I have thousands of files with me All are similar files. They contains 34 columns and 1000 rows. Please help me...

Finally I need to plot one column from one file against the other columns from other files depending on the column header.
# 5  
Old 02-12-2009
awk '{printf "\t",$2}' *
# 6  
Old 02-12-2009
This command awk '{printf "\t", $2 }' did not work for me. I tried already. Can anybody explain the reason??
# 7  
Old 02-12-2009
have you tried paste command?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Import 2 columns from 8 .csv files into pandas df (side by side) and write a new csv

I have 8 .csv files with 16 columns and "n" rows with no Header. I want to parse each of these .csv and get column and put the data into a new.csv. Once this is done, the new.csv should have 16 columns (2 from each input.csv) and "n" rows. Now, I want to just take the average of Column from... (3 Replies)
Discussion started by: Zam_1234
3 Replies

2. Shell Programming and Scripting

Merging two text files side by side

Hi everyone, I need to merge two files side by side The files look something like this: HOSTNAME fishtornado-K52F 127.0.1.1 UPTIME 20:17:01 up 2:19, 3 users, load average: 0.00, 0.04, 0.05 DISK USAGE (Size/Used/Avail/Use%) 29G 6.5G 21G 25% RUN QUEUE PID COMMAND USER ... (4 Replies)
Discussion started by: FishTornado
4 Replies

3. Shell Programming and Scripting

Combining two single column files side-by-side

Hi, I am looking for a sed/awk script to join two large (~300 M) single column files (one is sorted and the other is not sorted) side-by-side. I have a shell script but its taking ages to do the task so looking for an optimized fast solution. The two files look like: File1 (sorted) a1... (1 Reply)
Discussion started by: sajal.bhatia
1 Replies

4. Shell Programming and Scripting

How to print contents side by side of a file ?

Hi Team, I have input like Input file.txt Contents: Total: 939720704 bytes Total: 521142272 bytes Total: 262144 bytes Total: 786432 bytes Total: 9043968 bytes Total: 9371648 bytes I need out put like the content of file should be side by side.that is 1st line beside... (3 Replies)
Discussion started by: rocking77
3 Replies

5. Shell Programming and Scripting

AWK to merge multiple files side by side

I have about 100s of files of type text in a known directory. I want to merge all files side by side. Number of lines in all the files will remain same. For example file1 contains cat dog File 2 contains rat mat Output file should be cat rat dog mat Using awk I was able to... (5 Replies)
Discussion started by: kanthrajgowda
5 Replies

6. Shell Programming and Scripting

printing 3 files side by side based on similar values in rows

Hi I'm trying to compare 3 or more files based on similar values and outputting them into 3 columns. For example: file1 ABC DEF GHI file2 DEF DER file3 ABC DER The output should come out like this file1 file2 file3 ABC ABC (4 Replies)
Discussion started by: zerofire123
4 Replies

7. Shell Programming and Scripting

Paste two file side by side together based on specific pattern match problem

Input file_1: P78811 P40108 O17861 Q6NTW1 P40986 Q6PBK1 P38264 Q6PBK1 Q9CZ49 Q1GZI0 Input file_2: (6 Replies)
Discussion started by: patrick87
6 Replies

8. Shell Programming and Scripting

How to Merge / combine / join / paste 2 text files side-by-side

I have 2 text files, both have one simple, single column. The 2 files might be the same length, or might not, and if not, it's unknown which one would be longer. For this example, file1 is longer: ---file1 Joe Bob Mary Sally Fred Elmer David ---file2 Tomato House Car... (3 Replies)
Discussion started by: cajunfries
3 Replies

9. Shell Programming and Scripting

Merge 3 columns side by side

I know this is a stupid question for you guys! half day googling and i got nothing :( i have 3 variables/files, say: $X1 or file1: # there is one whitespace space after each line | 21 | 9 | 28 | 100 | 51 $X2 or file2: # there is one whitespace space... (7 Replies)
Discussion started by: amaulana
7 Replies

10. Shell Programming and Scripting

Merge 2 text files to one text file side by side

Inquiring minds want to know.... I need to take two files that I have latitude and longitude values and then combine them into one file with the values side by side separated by a space. the first file is temp113-lat.txt and the second is temp113-lon.txt. They each have values listed in the... (15 Replies)
Discussion started by: ahinkebein
15 Replies
Login or Register to Ask a Question