tail: opção ilegal - erro -53\r ao usar head e tail no mesmo arquivo em um único script

tail: opção ilegal - erro -53\r ao usar head e tail no mesmo arquivo em um único script

estou usando

a=`head -1 Rt.in` 

para obter o primeiro valor do meu arquivo e estou salvando-o como uma variável, então estou usando a mesma variável para tail -$afinalizar as últimas linhas da minha entrada. Mas está dando um erro:

tail: illegal option -- -53\r.

Meu arquivo de entrada possui 4 colunas da terceira linha em diante.

Aqui está uma parte do script que estou usando:

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

e o erro na saída que estou recebendo é este:

tail: illegal option -- -53\r

E a parte do arquivo de entrada é a seguinte:

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
. 
.
.

Existem 53 dessas linhas.

Alguém pode me dizer por que estou recebendo esse erro e como posso removê-lo?
Se eu executar o script acima usando pipes diretamente no terminal, estou recebendo um erro tail: -: No such file or directorye uma lista de alguns átomos.

Responder1

O número de linhas não deve ser o parâmetro que deveria ser:

tail -n $a Rt.in

Agora você obtém o número das últimas linhas definidas na primeira linha do seu arquivo. Isso -ntambém deve ser usado com o seu headcomando.

informação relacionada