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

相关内容