How to copy one column from many files to a new file?
1
0
Entering edit mode
11 months ago
Seq225 ▴ 90

Hello

I have 200 files. Each has 2 columns. I want to copy the first column from each of the 200 files into a new file. The new file will have 200 columns. How to do this (using awk/cut/paste etc). I have tried awk, but putting it in a for loop is difficult and I have failed to do so.

sequence genome assembly • 678 views
2
Entering edit mode

It would help if you could provide a sample. Is it a plain text file, does it contain non-ascii characters? Are there headers that you want to preserve? What is the separator between columns? Are there spaces in the entries?

2
Entering edit mode
11 months ago

I know you wanted an awk/cut solution, but this Rscript does the trick. Save it to a folder as script.R that has the 200 txt files and it'll automatically merge them and save it as "merged.txt"

Rscript script.R

if(!require("tidyverse")) install.packages("tidyverse")
files <- list.files(pattern = "\\.txt\$")
files <- purrr::map(files, ~ .x[1])
files <- dplyr::bind_cols(files)
readr::write_csv(files, path = "merged.txt", col_names = FALSE)

0
Entering edit mode

Thanks a ton! It works!!

0
Entering edit mode

Seq225 : Besides thanking posters, please accept answers (green check mark) to validate them and provide closure to the thread. Do this for your past questions as well. You can accept more than one answer if they work.