estoy usando
a=`head -1 Rt.in`
para obtener el primer valor de mi archivo y lo estoy guardando como una variable, luego estoy usando la misma variable para tail -$a
seguir las últimas líneas de mi entrada. Pero me da error:
tail: illegal option -- -53\r.
Mi archivo de entrada tiene 4 columnas desde la tercera fila en adelante.
Aquí hay una parte del script que estoy usando:
a=`head -1 Rt.in`
echo $a
tail -$a Rt.in
y el error en el resultado que recibo es este:
tail: illegal option -- -53\r
Y la parte del archivo de entrada es la siguiente:
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
.
.
.
Hay 53 líneas de este tipo.
¿Alguien puede decirme por qué recibo este error y cómo puedo eliminarlo?
Si ejecuto el script anterior usando tuberías directamente en la terminal, aparece un error tail: -: No such file or directory
y luego una lista de algunos átomos.
Respuesta1
El número de líneas no debe ser el parámetro, debería ser:
tail -n $a Rt.in
Ahora obtienes el número de últimas líneas definidas en la primera línea de tu archivo. Esto -n
también debería usarse con su head
comando.