我在用
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
。