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 -$a
finalizar 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 directory
e 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 -n
também deve ser usado com o seu head
comando.