Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re: Is there any efficient way i can take out a specific column from hundreds of files and put it in one file?

by frozenwithjoy (Priest)
on Sep 28, 2014 at 09:37 UTC ( [id://1102263]=note: print w/replies, xml ) Need Help??


in reply to Is there any efficient way i can take out a specific column from hundreds of files and put it in one file?

If you have a *nix system, what about just using a simple BASH approach?

for FILE in *.tsv; do cut -f3 $FILE > $FILE.temp # use -d option if not tab-delimited done paste *.temp > final.tsv rm *.temp

This code puts the third column of each file into temp files and them pastes them all together into a final file.

Based on one of your other posts, I suspect that you might want to also have the first column of one of the files in the final file. Also, it seems reasonable to label each of the columns with the file name, at least. The code below should accomplish both of these objectives.

for FILE in *.tsv; do echo $FILE > $FILE.temp cut -f3 $FILE >> $FILE.temp done echo Gene_IDs > gene-ids.tsv cut -f1 one-of-the-files.tsv >> gene-ids.tsv paste gene-ids.tsv *.temp > final.tsv rm *.temp
  • Comment on Re: Is there any efficient way i can take out a specific column from hundreds of files and put it in one file?
  • Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1102263]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (5)
As of 2024-04-24 07:33 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found