tail:無効なオプション - -53 \ r単一スクリプトで同じファイルにheadとtailを使用するとエラーが発生する

tail:無効なオプション - -53 \ r単一スクリプトで同じファイルにheadとtailを使用するとエラーが発生する

使っています

a=`head -1 Rt.in` 

私のファイルから最初の値を取得して変数として保存し、同じ変数を使用してtail -$a最後の入力行を追跡します。しかし、エラーが発生します。

tail: illegal option -- -53\r.

私の入力ファイルには、3行目から始まる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

関連情報