awk печатает новый столбец на новой строке

Пожалуйста, предложите мне, как исправить эту досадную проблему. Я использую 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 ответ

Решение

Когда я запускаю вашу команду, она работает нормально для меня, в качестве предположения вы могли бы проверить, есть ли у вас символы каретки в вашем Input_file, выполнив cat -v Input_file тогда вы можете использовать следующие команды, чтобы удалить их в первую очередь.

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

Тогда вы могли бы сделать снимок своей собственной команде.

Другие вопросы по тегам