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

相關內容