Thanks a ton! It works!!
How to copy one column from many files to a new file?
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.
Thank you for your help!!
• 2,386 views
•
link
1 answer
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, ~ readr::read_tsv(.x, col_names = FALSE))
files <- purrr::map(files, ~ .x[1])
files <- dplyr::bind_cols(files)
readr::write_csv(files, path = "merged.txt", col_names = FALSE)
• 0 views
•
link
Log in to answer this question.
Take inspiration from here: https://unix.stackexchange.com/questions/158408/select-certain-column-of-of-each-file-paste-to-a-new-file
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?