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.

관련 정보