tail: недопустимая опция -- -53\r ошибка при использовании head и tail в одном файле в одном скрипте

tail: недопустимая опция -- -53\r ошибка при использовании head и tail в одном файле в одном скрипте

Я использую

a=`head -1 Rt.in` 

чтобы получить первое значение из моего файла и сохранить его как переменную, затем я использую ту же переменную, чтобы tail -$aвывести последние строки из моего ввода. Но это выдает ошибку:

tail: illegal option -- -53\r.

Мой входной файл содержит 4 столбца, начиная с третьей строки.

Вот часть скрипта, который я использую:

a=`head -1 Rt.in`
echo $a
tail -$a Rt.in

и ошибка в выводе, которую я получаю, такая:

tail: illegal option -- -53\r

А часть входного файла выглядит следующим образом:

53
FEPXUU
H    9.155963    1.289174   11.531518
H    9.004353    2.726286   11.683448
N   11.762550    3.890769   11.785241
N   10.610393    3.635048    9.544268
N   10.745642    1.175050    9.076323
N   13.210069    2.309946    9.848128
N   12.319480    0.955257   11.800435
C   12.359945    3.942548   12.929277
C   11.267322    5.027779   11.274755
H    9.052185    4.031311    6.865735
C   10.031631    3.303244    8.416945
C   10.093512    1.894663    8.164740
C    9.546565    1.312421    7.090592
. 
.
.

Всего таких строк 53.

Может кто-нибудь сказать мне, почему я получаю эту ошибку и как ее убрать??
Если я запускаю вышеуказанный скрипт, используя каналы непосредственно в терминале, я получаю ошибку, tail: -: No such file or directoryа затем список из нескольких атомов.

решение1

Количество строк не должно быть параметром, которым оно должно быть:

tail -n $a Rt.in

Теперь вы получаете количество последних строк, которое определено в первой строке вашего файла. Это -nтакже должно использоваться с вашей headкомандой.

Связанный контент