使っています
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
。