vkaul11
vkaul11

Reputation: 4214

argument getting truncated while printing in unix after merging files

I am trying to combine two tab seperated text files but one of the fields is being truncated by awk when I use the command (pls suggest something other than awk if it is easier to do so)

pr -m -t test_v1 test.predict | awk -v OFS='\t' '{print $4,$5,$7}' > out_test8

The format of the test_v1 is

478     192     46      10203853138191712 

but I only print 10203853138 for $4 truncating the other digits. Should I use string format? Actually I found out after a suggestion given that pr -m -t itself does not give the correct output

478^I192^I46^I10203853138^I^I  is the output of the command
 pr -m -t test_v1 test.predict | cat -vte

I used paste test_v1 test.predict instead of pr and got the right answer.

Upvotes: 1

Views: 315

Answers (2)

Ed Morton
Ed Morton

Reputation: 203792

Run dos2unix on your files first, you've just got control-Ms in your input file(s).

Upvotes: 0

anubhava
anubhava

Reputation: 785376

You problem is use pr -m (merge) here which as per manual:

-m, --merge

print all files in parallel, one in each column, truncate lines, but join lines of full length with -J

You can use:

paste test_v1 test.predict

Upvotes: 2

Related Questions