awk在新行上打印新列

时间:2017-09-12 16:24:45

标签: bash calculated-columns data-manipulation awk-formatting

请建议我如何解决这个恼人的问题。 我使用awk进行简单的计算,然后将结果打印在新的制表符分隔列上。它可以工作,但是awk会在新行的列上打印结果。请看看

     chr1   839976  840333  44  66151894
     chr1   855835  856060  23  66151894
     chr1   860112  860337  25  66151894

awk 'BEGIN { OFS = "\t" } { $6 = $3-$2 } 1 ' file1.txt > result1.txt

此命令打印类似

的内容
   chr1 713869 714267 79 66151894
   398
   chr1 839976 840333 44 66151894
   357
   chr1 855835 856060 23 66151894
   225

你能正确修复命令吗?

1 个答案:

答案 0 :(得分:1)

当我运行你的命令时它对我来说很好,因为你可以通过cat -v Input_file来检查输入文件中是否有托架字符,然后你可以使用以下命令先删除它们。

tr -d '\r' < Input_file > temp_file && mv temp_file Input_file

然后你可以用自己的命令射击。