合并文件后在unix中打印时截断的参数

时间:2014-05-14 14:10:57

标签: bash unix awk

我正在尝试组合两个制表符分隔的文本文件,但是当我使用命令时,其中一个字段被awk截断(如果更容易这样做,请提示awk以外的其他内容)

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

test_v1的格式为

478     192     46      10203853138191712 

但我只打印10203853138,价格为4美元,截断其他数字。我应该使用字符串格式吗? 实际上我发现了一个建议,因为pr -m -t本身没有给出正确的输出

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

我使用了test test_v1 test.predict而不是pr,得到了正确答案。

2 个答案:

答案 0 :(得分:2)

你的问题是使用pr -m(合并),根据手册:

  

-m, --merge

     

并行打印所有文件,每列一个,截断行,但使用-J

连接全长行

您可以使用:

paste test_v1 test.predict

答案 1 :(得分:0)

首先在您的文件上运行dos2unix,您的输入文件中只有控件-Ms。